【发布时间】:2012-07-12 18:31:12
【问题描述】:
我一直在研究Clojure question 135 Infix Calculator,基本上是一个简化的前缀算术计算器中缀:
(= 7 (__ 2 + 5))
我按照说明解决了问题。但这让我想知道 - 如果参数是作为字符串提供的 - 我将如何让它工作?
(= 7 (__ "2 + 5"))
显然我会从 拆分 开始,然后仔细研究结果:
(clojure.string/split "2 + 5" #"\s")
user=> ["2" "+" "5"]
但是如何将“+”转换为函数调用?这是行不通的:
("+" 2 5)
user=> java.lang.ClassCastException: java.lang.String cannot be
cast to clojure.lang.IFn <snip>
寻求启蒙......
【问题讨论】:
标签: clojure