Try Clojure 의 Clojure 자습서를 따르고 있습니다. 여기서 함수 정의에 대해 소개합니다.
(defn square [x] (* x x))
그런 다음 번호 목록에 적용합니다.
(map square [1 2 3 4])
오류를 즉시 인쇄합니다. java.lang.IllegalStateException: Attempting to call unbound fn: #'sandbox14750/square
예를 들어 함수를 매핑하려고 할 때 inc
잘 작동합니다. 내장 함수 inc
와 내 기능의 차이점은 무엇 square
입니까?
페이지를 새로 고친 후 잘되었지만 처음 실행하려고 할 때 약간의 문제가있었습니다.
Give me some Clojure:
> (defn square [x] (* x x))
#'sandbox6361/square
> (square 4)
16
> (map square [1 2 3 4])
(1 4 9 16)
필요할 때 함수를 계속 사용할 수 있는지 확인하려면 다음과 같이 var 대신 locals에 함수를 저장할 수 있습니다.
> (let [square (fn [x] (* x x))] (map square [1 2 3 4]))
(1 4 9 16)
>
#clojure의 Clojurebot과 같은 많은 sandbpxed 환경에서는 임의의 상태를 정의 할 수 없으므로 함수가 vars뿐만 아니라 여러 방법으로 저장 될 수 있다는 것을 아는 것이 좋습니다.
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다