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

Clojure 函数使用并且是映射的一部分(循环依赖?),clojure,clojurescript,circular-dependency,Clojure,Clojurescript,Circular Dependency,我写一个迷你shell是为了好玩,我试图定义一个命令映射,其中一个命令是help帮助应该打印所有可用的命令,我(尝试)通过循环执行命令映射的键来执行此操作,但是由于帮助是其中的一部分,无论我以何种顺序定义它们,我总是会收到使用未声明变量的警告。 我如何解决这个问题 (def commands {:help help}) (defn help [] (echo! "The available commands are:") (doseq [available-command (keys

我写一个迷你shell是为了好玩,我试图定义一个命令映射,其中一个命令是
help
<代码>帮助应该打印所有可用的命令,我(尝试)通过循环执行
命令
映射的键来执行此操作,但是由于
帮助
是其中的一部分,无论我以何种顺序定义它们,我总是会收到
使用未声明变量的警告。
我如何解决这个问题

(def commands {:help help})

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

开始时。

添加


一开始。

嗯,那很容易。谢谢您!嗯,那很容易。谢谢您!
(declare help)