1
所以试图制造类似Haskell的lambda语法,以及与此宏是我的本钱:宏想Clojure中使用的符号,而不是字符串的
(defmacro/[& all]
(let [args (take-while #(not (= %1 "=>")) all)
argCount (count args)
expr (last (split-at (+ argCount 1) all))]
`(fn ~(vec args) ([email protected]))))
(reduce (/ x y "=>" + x y) [1 2 3])
这工作做得不够好,但我想要做的最后一件事就是让它,所以我不需要"=>"
但可以只使用=>
任何提示我怎么可能让=>
有效的符号,我可以只解析在上下文我推荐呢?
是的!这甚至让我使用 - >而不是=>!可爱!谢谢! – 2013-05-04 18:47:40