我一直在工作Clojure question 135 Infix Calculator,基本上是一個簡化的綴前綴算術計算器:如何將字符串轉換爲Clojure中的函數?
(= 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>
啓蒙追捧....
太好了,謝謝dAni! –