2016-10-01 70 views
1

我正在写一个迷你shell的东西的乐趣,我试图定义一个命令的地图,其中一个命令是helphelp应该打印所有可用命令,并且我试图通过循环遍历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