Использование Java или C# происходит, вероятно, из-за основной популярности языка.
, Но принцип разработки и/или шаблоны разработки применяются независимо от языка, который Вы используете. Реализация того же шаблона разработки в Python, очевидно, отличалась бы, чем в Java или C#.
Common Lisp имеет (цикл ... собрать ...)
. Сравните
(loop for x from 1 to 10 collect (* x x))
с его эквивалентом, используя развернуть
:
(unfold (lambda (x) (> x 10)) (lambda (x) (* x x)) (lambda (x) (+ x 1)) 1)
В общем, (развернуть начальное число pfg)
в основном
(loop for x = seed then (g x) until (p x) collect (f x))
Изменить: исправить опечатку
Обычный гиперсекрет Lisp не определяет функцию разворачивания
, но вы, безусловно, можете написать свою собственную. Его определение схемы переводит почти символ на символ.