Common lisp {从函数返回字符串}EVAL:变量没有值
我无法打印return-str的返回值Common lisp {从函数返回字符串}EVAL:变量没有值,common-lisp,Common Lisp,我无法打印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执行上述代码,我得到: $ clis
; 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返回字符串
; 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)
谢谢。你的括号有几处不正确
应替换为(数据str)
,因为数据str
不是一个函数数据str
应替换为(princ return str)
,因为(princ(return str))
是一个函数return str
应替换为(数据str)
,因为数据str
不是一个函数数据str
应替换为(princ return str)
,因为(princ(return str))
是一个函数return str
应替换为(数据str)
,因为数据str
不是一个函数数据str
应替换为(princ return str)
,因为(princ(return str))
是一个函数return str
应替换为(数据str)
,因为数据str
不是一个函数数据str
应替换为(princ return str)
,因为(princ(return str))
是一个函数return str