Как организовать цикл ввода данных в список
Нужна помощь!! !
Как на ЛИСПе организовать цикл ввода пользовательских чисел и формирование списка.
Ввод данных должен прекратиться при вводе пользователем nil.
Нужна помощь!! !
Как на ЛИСПе организовать цикл ввода пользовательских чисел и формирование списка.
Ввод данных должен прекратиться при вводе пользователем nil.
Каком Лиспе?
Лисп -- семейство языков с общей идеей "данные и программы -- есть списки". Самые распространенные диалекты -- Common Lisp, Scheme. Clojure, работающий на JVM, тоже становится довольно популярным. Есть специализированные диалекты, к примеру, AutoLisp предназначен для автоматизации задач в AutoCAD'е.
Пример на Common Lisp, используя рекурсию:
(defun input ()
(let ((x (read)))
(if (not (null x)) (cons x (input)))))
(print (input))
Тоже самое на scheme (интерпретатор guile):
(define (input)
(let ((x (read)))
(if (not (null? x)) (cons x (input)) '())))
(display (input))