1

私はこれを直接解釈しようとします:

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

正常に動作します。Infact(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 に答える