我刚刚开始使用Clojure,我想知道为什么以下不能按预期工作:
(-> 5
-
(partial + 5))
Run Code Online (Sandbox Code Playgroud)
我希望这个表达式的结果是0(-5 + 5),但整个事情似乎是偏的.
(macroexpand `(-> 5 - (partial + 5))
#_=> )
(clojure.core/partial (clojure.core/-> 5 clojure.core/-) clojure.core/+ 5)
Run Code Online (Sandbox Code Playgroud)
为什么这样,我怎么能做我想做的事?
Art*_*ldt 10
需要一套额外的parens:
user> (-> 5 - ((partial + 5)))
0
Run Code Online (Sandbox Code Playgroud)
的->宏插入前面的表达式,作为列表的第二个参数的结果,以便在例如,将exand到(partial (- 5) + 5)与所述额外的()它获取的部分功能之后插入((partial + 5) (- 5))
| 归档时间: |
|
| 查看次数: |
182 次 |
| 最近记录: |