【发布时间】:2012-10-03 10:51:05
【问题描述】:
在 Clojurescript 中编写高阶函数时,实际上可以省略传入函数的参数。
例如,以下是合法的 Clojurescript 代码,但非法的 Clojure 代码:
(def x (atom 5))
(交换!x(fn [] 6))
高阶“交换!” function 需要一个带有一个参数的函数,但你可以省略它,程序仍然可以正常编译/运行。
如果它使我的 Clojurescript 代码更清晰,使用此功能是否会被视为不好的形式?或者,它只是滥用 Clojurescript 限制吗?有意见吗?
感谢您的意见!
【问题讨论】:
-
我发布了一个答案,但我不确定这是您要问的问题。
-
没有真正回答您的问题,但对于这种特殊情况,您应该使用
reset!而不是swap!。它做你想做的事。
标签: clojure clojurescript