편집 :왜 Clojure는 하나의 인수 만 가져야한다고 생각합니까?
이 질문에 대한 답변은 루프 매개 변수가 아닌 기능을보고 있습니다.
다음 두 함수 중 두 번째로, 왜 반복이 하나의 인수 만 전달된다고 생각하는지 이해할 수 없습니다.
CompilerException : 인수가 일치하지 않아 예상되는 인수가 1 args, got : 2, 컴파일 중 : (/ home/cnorton/projects/clojure/clj_in_action/mr1/src/mr1.clj : 84)
잘못된 정보가 표시되지 않습니다.
(loop [mov moves] ...)
이 코드 단편 외부 함수 범위 moves
mov
에 결합되어
(defn determine-rover-move
[rover-coord mov]
(println rover-coord mov)
(cond
(= \L mov) (assoc rover-coord 0 (adj-compass-posL (first rover-coord)))
(= \R mov) (assoc rover-coord 0 (adj-compass-posR (first rover-coord)))
(= \M mov) (mov-rover rover-coord)
))
(defn execute-each-move
[moves rover-coord]
(loop [mov moves]
(if (nil? mov)
rover-coord
(recur (rest moves) (determine-rover-move rover-coord mov)))))
지금 확인해 보겠습니다. 루프에는 하나의 인수 만 있습니다. 함수 매개 변수를 살펴 보았습니다. – octopusgrabbus
의견 대신 자신의 질문에 대한 대답을 답으로 제공 할 수도 있습니다. –
사실, 나는 갈 생각이었고, 자신의 질문에 대답하는 쪽지는 주석을 사용하는 것이 더 좋다고했습니다. – octopusgrabbus