5
(apply str [\a \b])
및
(apply str '(\a \b))
반환 "AB".
(apply str (\a \b))
오류를 반환합니다.
왜 그럴까요?
(apply str [\a \b])
및
(apply str '(\a \b))
반환 "AB".
(apply str (\a \b))
오류를 반환합니다.
왜 그럴까요?
(\a \b)
은 "\b
인수를 사용하여 \a
함수를 호출"하고, \a
문자는 함수가 아니기 때문에 실패합니다. 다음의 차이 참고 : 문자 그대로의 순서를 쓰기 견적도 목록 내부 부품의 평가를 정지하기 때문에 대신 인용 목록의 벡터를 사용하려는 경우, 일반적으로
user=> (+ 1 2 3) 6 user=> '(+ 1 2 3) (+ 1 2 3)
을, 예 :
user=> [(+ 1 2) (+ 3 4)] [3 7] user=> '((+ 1 2) (+ 3 4)) ((+ 1 2) (+ 3 4))
나는 Clojure를 모른다. 그러나 그것은 가능하다. []는 목록이지만()은 다른 것입니까? – jtbandes
@jtbandes : []는 벡터입니다 (성장하는 배열과 같음).()는리스트이지만 따옴표로 묶지 않으면 함수로 평가됩니다. 그 코드는 Lisps 주변의 데이터입니다. – nickik