函数使用并且是map的一部分(循环依赖?)

时间:2016-10-01 00:25:49

标签: clojure clojurescript circular-dependency

我正在写一个迷你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))))

1 个答案:

答案 0 :(得分:4)

添加

(declare help)

一开始。