“открыться” для языка Common LISP?

Использование Java или C# происходит, вероятно, из-за основной популярности языка.

, Но принцип разработки и/или шаблоны разработки применяются независимо от языка, который Вы используете. Реализация того же шаблона разработки в Python, очевидно, отличалась бы, чем в Java или C#.

9
задан nullpointer 26 October 2009 в 05:42
поделиться

2 ответа

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))

Изменить: исправить опечатку

13
ответ дан 4 December 2019 в 13:03
поделиться

Обычный гиперсекрет Lisp не определяет функцию разворачивания , но вы, безусловно, можете написать свою собственную. Его определение схемы переводит почти символ на символ.

3
ответ дан 4 December 2019 в 13:03
поделиться