1

我尝试直接对解释执行此操作:

(setf example (coerce "blablabla" 'list))

并且工作正常。事实上(car example)返回 #\b

但如果我试试这个:

(defun myfun (string) ( (setf example (coerce string 'list))))

(myfun "blablabla") 

我不一样!

我该如何解决?

4

1 回答 1

3

删除: setf_defun

(defun myfun (string)
  (setf example (coerce string 'list)))

现在你会得到同样的结果。请注意,外括号是有意义的。在 Lisp 中,它要么被引用,要么必须是函数调用。如果第一个元素是(在这种情况下)列表,则它不能是要调用的函数,因此会出现错误。

于 2012-01-19T20:07:30.953 回答