http://learnlispthehardway.org/try-lisp/
CL-USER> (defun saynextof ( a b c )(write a))
SAYNEXTOF
CL-USER> (saynextof "fred" "jim" "shiela")
ERROR[!]: too few arguments
(为了表格验证的好处:这完全描述了问题。)
答案 0 :(得分:3)
JSCL要求(与standard不同)write
函数中的多个参数,因此这就是错误的原因。
如果您使用print
,则不会显示错误。
答案 1 :(得分:3)
似乎write
函数抛出了错误:
CL-USER> (write "foo")
ERROR[!]: too few arguments
CL-USER>
我刚刚从GitHub下载了最新版本的JSCL并进行了编译。使用该版本,不会发生错误。 JSCL' print.lisp
的提交消息表明,write
的实现过去常常会出现问题,这可能导致参数太少而且#34;错误:
Author: David Vazquez <davazp@gmail.com>
Date: Mon Jan 4 19:23:28 2016 +0100
Fix the write function
It was using write-aux with too few arguments.