"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)
이 같다고 생각하니? 그 차이점은 무엇입니까?
그 생각을하지 못했습니다;) –