История изменений
Исправление vasily_pupkin, (текущая версия) :
(flet ((j-str (x) (string-match-p "^J[a-z]+" x))
(p-str (a b c &rest rest)
(print (format "%s and %s follow %s" a b c))
(when rest (apply 'p-str rest))))
(apply 'p-str
(remove-if-not
'j-str '("John" "James" "Jakob" "Peter" "Janette" "Tom" "Vasya" "Jean" "Juilia" "Heather"))))
elisp например. Хотя наверное можно симпатичнее :D
Исходная версия vasily_pupkin, :
(flet ((gprint (a b c &rest rest)
(print (format "%s and %s follow %s" a b c))
(when rest (apply 'gprint rest))))
(apply 'gprint (remove-if-not (lambda (x) (string-match-p "^J[a-z]+" x))
'("John" "James" "Jakob" "Peter" "Janette" "Tom" "Vasya" "Jean" "Juilia" "Heather"))))
elisp например. Хотя наверное можно симпатичнее :D