Я узнал довольно много схемы из SICP, но теперь я больше заинтересован в распространении lisp. Я знаю, что общий lisp fold
- reduce
, со специальными аргументами для складывания влево или вправо, но что эквивалентно unfold
? Googling не очень помог. На самом деле у меня создается впечатление, что не разворачивается ???«разворачивается» для общего lisp?
ответ
Common Lisp имеет (loop ... collect ...)
. Сравнить
(loop for x from 1 to 10 collect (* x x))
с его эквивалентность с помощью unfold
:
(unfold (lambda (x) (> x 10)) (lambda (x) (* x x)) (lambda (x) (+ x 1)) 1)
В общем, (unfold p f g seed)
в основном
(loop for x = seed then (g x) until (p x) collect (f x))
Edit: исправить опечатку
Обычный гиперчувствительный гипс не определяет функцию unfold
, но вы можете, безусловно, написать свой собственный. Его определение схемы переводит почти символ символа.
Спасибо. Это несчастливо, но я полагаю, да, я напишу свой. Мне очень нравится схема для того, чтобы быть таким чистым и иметь такую прекрасную функциональную доброту, но я вроде как смирился с изучением запутанного, но выразительного общего lisp. Знаешь, это похоже на изучение английского, а не эсперанто. – nullpointer
- 1. ошибка о дополнительных аргументах, для общего LISP
- 2. Использование общего пользовательского типа Lisp в defmethod
- 3. Есть ли способ «зондировать» метод общего lisp
- 4. Ошибка общего lisp: «должно быть выражение лямбда»
- 5. Создание пары пар с использованием общего lisp
- 6. Документация в стиле man или javadoc для общего lisp
- 7. Connect Node.js как клиент для общего сервера Lisp
- 8. Xampp разворачивается?
- 9. Как я могу сохранить строку без «общего» lisp?
- 10. Grails разворачивается на Tomcat6
- 11. Asp каталог листинг разворачивается
- 12. Franz LISP для общих вопросов конверсии LISP
- 13. GridView не разворачивается
- 14. Для цикла не разворачивается в долото
- 15. разворачивается в петлях - C
- 16. Разве Clojure «разворачивается»?
- 17. Война разворачивается, чтобы играть
- 18. максимальная дисперсия разворачивается
- 19. Могу ли я настроить формат выходов ошибки общего lisp?
- 20. Код сначала разворачивается на производстве
- 21. Ресурсы для изучения Lisp
- 22. Благоухающий для lisp?
- 23. Bootstrap рухнул navbar не разворачивается
- 24. Strongloop разворачивается на AWS EC2
- 25. Loop разворачивается в ядрах ядер
- 26. Весенний ботинок разворачивается внешний tomcat
- 27. appendChild tree node не разворачивается
- 28. Практика Lisp
- 29. Ms разворачивается из командной строки
- 30. Common Lisp: создание каталога
Хм это интересно. Я играл с петлей в течение последнего часа: P его отличный материал! Мне нравится, когда языки программирования имеют эти небольшие встроенные подъязыки, которые имеют собственный синтаксис и набор правил для понимания, например, строки формата. Loop - мощный материал! – nullpointer
Добро пожаловать в темную сторону. – huaiyuan