2016-10-01 2 views
1

저는 재미로 미니 셸을 작성하고 있는데, 명령 중 하나가 help 인 명령의 맵을 정의하려고합니다. help은 사용 가능한 모든 명령을 인쇄해야하며 commands 맵의 키를 반복하여이 작업을 수행해야하지만 help이 그 부분이므로 내가 정의한 순서에 관계없이 항상 Use of undeclared variable 경고가 표시됩니다. 어떻게 해결할 수 있습니까?함수가 사용하고지도의 일부입니다 (순환 종속성?)

(def commands {:help help}) 

(defn help [] 
    (echo! "The available commands are:") 
    (doseq [available-command (keys commands)] 
    (echo! (name available-command)))) 

답변

4

시작 부분에

(declare help) 

를 추가합니다.

+0

글쎄, 그렇게 쉬웠다. 고맙습니다! – ahstro