У меня возникли проблемы с пониманием того, как Scheme формирует, а затем обнаруживает списки. Хаус определяет разницу между списком и пунктирной парой?Нужна помощь в понимании списков на схеме
0
A
ответ
2
Структура списка образована из пар. Надлежащий список представляет собой цепочку из пар, где последняя пара имеет пустой список в качестве своего cdr
.. Мы можем сделать list?
так:
(define (list? lst)
(cond ((null? lst) #t)
((pair? lst) (list? (cdr lst)))
(else #f)))
Или вы могли бы использовать и/или:
(define (list? lst)
(or (null? lst)
(and (pair? lst)
(list? (cdr lst)))))
Смежные вопросы
- 1. Нужна помощь в понимании наследования
- 2. Нужна помощь в понимании kcachegrind
- 3. Нужна помощь в понимании кода
- 4. нужна помощь в понимании CCMoveTo?
- 5. Нужна помощь в понимании запроса
- 6. Нужна помощь в понимании петель
- 7. Java_Questions: нужна помощь в понимании
- 8. Нужна помощь в понимании ReferenceProperty
- 9. Нужна помощь в понимании формулы
- 10. Нужна помощь в понимании _set_security_error_handler()
- 11. Нужна помощь в понимании MPI_COMM_CREATE
- 12. Нужна помощь в понимании Solr
- 13. Java, нужна помощь в понимании
- 14. Нужна помощь в понимании MEF
- 15. Нужна помощь в понимании команды
- 16. Нужна помощь в понимании SUM
- 17. Нужна помощь в понимании рамки
- 18. Нужна помощь в понимании алгоритма
- 19. Нужна помощь в понимании узлов и связанных списков
- 20. нужна помощь в понимании кода на С ++
- 21. Нужна помощь в понимании метода rstrip()
- 22. Нужна помощь в понимании События в C#
- 23. Нужна помощь в понимании потоков в Java
- 24. Нужна помощь в понимании блокировки в ASP.NET
- 25. Нужна помощь в понимании Math в C++
- 26. Нужна помощь в понимании size_hint в kivy
- 27. Нужна помощь в понимании словарей в python
- 28. Нужна помощь в понимании оператора + в Javascript
- 29. Нужна помощь в понимании JOINS в SQL
- 30. Нужна помощь в понимании LINQ в MVC?
[ Этот ответ] (http://stackoverflow.com/a/16379759/1281433) в [Рекурсивный диапазон в Lisp добавляет период?] (Http://stackoverflow.com/q/16379657/1281433) включает объяснение того, как пары используются для реализации списков в Scheme (и других Lisp). Однако не совсем понятно, что вы здесь задаете. Список - это либо пустой список '()', либо пара, чей 'car' является первым элементом списка и чья' cdr' является остальной частью списка (другой список). –
как насчет вашего [предыдущего вопроса] (http://stackoverflow.com/questions/19886294/issues-with-conditionals-in-scheme)? Вы закончили с этим? Если это так, вы можете принять один из ответов, чтобы сообщить об этом другим участникам этого сайта. :) –