相关疑难解决方法(0)

当用作函数时,Clojure符号会做什么?

在尝试解决涉及重新实现评估的4Clojure问题" 通用计算引擎 "时,我意外地结束了这样的事情:

(apply '/ '(16 8))
Run Code Online (Sandbox Code Playgroud)

而不是预期的:

(apply / '(16 8))
Run Code Online (Sandbox Code Playgroud)

这有一个令人困惑的返回副作用8,这让我觉得我搞砸了我的数学.

我稍后在一些调试后意识到我的错误 - 我/在尝试调用它之前未能评估符号 - 因此意识到clojure.lang.Symbol必须实现clojure.lang.IFn.但是那个实现有什么作用呢?我能做的就是nil用一个参数返回,如果给出则返回第二个参数.

clojure

11
推荐指数
1
解决办法
712
查看次数

标签 统计

clojure ×1