我无法打印return-str的返回值。
; return-str.lisp
(defun ask-for-input(str)
(princ str)
(let ((cmd (read-line)))
cmd))
(defun return-str()
(let ((data-str (ask-for-input "enter a string")))
(data-str)))
(princ return-str)
用clisp执行上面的代码,我得到了:
$ clisp return-str.lisp
*** - EVAL: variable RETURN-STR has no value
请帮助我如何从return-str正确返回一个字符串。
谢谢。
答案 0 :(得分:3)
您的括号在几个地方都不正确。
(data-str)
应替换为data-str
,因为data-str
不是函数。(princ return-str)
应替换为(princ (return-str))
,因为return-str
是一个函数。