Нашли или выдавили из себя код, который нельзя назвать нормальным,
на который без улыбки не взглянешь?
Не торопитесь его удалять или рефакторить, — запостите его на
говнокод.ру, посмеёмся вместе!
(defun shuffle (begin end)
(interactive "r")
(loop for line in (split-string (buffer-substring begin end) "\n")
initially (delete-region begin end)
do (insert
(loop with temp = ?x
for i from (1- (length line)) downto 0
for rand = (random (1+ i)) do
(rotatef (aref line i) (aref line rand))
finally (return line)) "\n")))
(defun shuffle (begin end)
(interactive "r")
(loop for line in (split-string (buffer-substring begin end) "\n")
initially (delete-region begin end)
do (insert
(loop for i from (1- (length line)) downto 0
for rand = (random (1+ i))
unless (or
(member (aref line rand) '(?= ?\; ?\.))
(member (aref line i) '(?= ?\; ?\.)))
do (rotatef (aref line i) (aref line rand))
finally (return line)) "\n")))
Бох в помощь!
О, не, так лучше, пунктуация на месте останется.
Это хорошо или плохо?
если нет, поясню - всю портянку можно заменить одной строкой:
ЗаполнитьЗначенияСвойств(ЭтотОбъект, Выборка);
ВСЁ!