私は "On lisp"を読んでいて、このコードを見つけました(少し単純化しました)。'(a b c)と(a' b 'cをリストする)の違いは何ですか?
CL-USER> (defun foo()
'(a b c))
FOO
CL-USER> (foo)
(A B C)
CL-USER> (nconc * '(D E))
(A B C D E)
CL-USER> (foo)
(A B C D E)
CL-USER> (defun foo()
(list 'a 'b 'c))
STYLE-WARNING: redefining FOO in DEFUN
FOO
CL-USER> (foo)
(A B C)
CL-USER> (nconc * '(D E))
(A B C D E)
CL-USER> (foo)
(A B C)
*
は正確に何を意味するのでしょうか?以前の関数呼び出しですか?現実世界のコードで使用するのに適していますか?なぜ
(nconc * '(D E))
が最初のfoo
関数の戻り値を変更するのですか?私はいつも
(list 'a 'b 'c)
と'(a b c)
は同じだと思いましたか?違いはなんですか?
これは考えていませんでした;) –