Вызов функции с блока 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"

Объяснение кода листинга программы

  1. first1 - название функции
  2. (defun first1 () (printfirst)) - определение функции с помощью ключевого слова defun, где функция называется first1. В скобках после определения функции указан блок кода, который будет выполняться при вызове функции. В данном случае в блоке кода используется функция print для вывода строки first в консоль.
  3. FIRST1 - вывод названия функции в консоль при помощи функции princ
  4. (first1) - вызов функции first1
  5. first - вывод строки first в консоль при помощи функции print

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

6   голосов , оценка 3.667 из 5