Вызов функции с блока cond - Lisp
Формулировка задачи:
Всем привет.
Подскажите, пожалуйста, как правильно вызвать функцию с блока cond в mulisp ?
Код компилируется и выполняется без ошибок, но - результата нет.
Спасибо.
(defun first
(print "Fisrt")
)
(defun second
(print "Second")
)
(defun third
(print "Third")
)
(setq val 0)
(defun run(val)
(setq val (random 3))
(cond (= val 0)(print "No match!!!")
(= val 1)(first)
(= val 2)(second)
(= val 3)(third)
))
(run val)Решение задачи: «Вызов функции с блока cond»
textual
Листинг программы
CL-USER> (defun first1 () (print "first")) FIRST1 CL-USER> (first1) "first" "first"
Объяснение кода листинга программы
first1- название функции(defun first1 () (printfirst))- определение функции с помощью ключевого словаdefun, где функция называетсяfirst1. В скобках после определения функции указан блок кода, который будет выполняться при вызове функции. В данном случае в блоке кода используется функцияprintдля вывода строкиfirstв консоль.FIRST1- вывод названия функции в консоль при помощи функцииprinc(first1)- вызов функцииfirst1first- вывод строкиfirstв консоль при помощи функцииprint