我只是在学习clojure,而且我正在碰壁。
我正在尝试将算术表达式读取为中缀字符串并在 Clojure 中处理它。
例如“1 + 2” -> (+ 1 2)
我读入了“+”并将其变成了这样的符号:
(def plus (symbol "clojure.core" "+"))
这似乎工作正常,但是当我调用它时,我没有得到我所期望的:
user=> plus
+
user=> (plus 1 1)
1
user=> (plus 1 2)
2
user=> (plus 1 2 3)
ArityException Wrong number of args (3) passed to: Symbol clojure.lang.AFn.throwArity (AFn.java:437)
我在这里想念什么?