我只是学习Clojure的Python程序员。在Python我爱我如何使用命名参数在调用functools.partial:部分和命名参数Clojure中
def pow(base, exponent):
return base ** exponent
exp = partial(pow, 2.71828) # exp(2) --> 7.3886
square = partial(pow, exponent=2) # square(2) --> 4
的exp
的实现是很明显的Clojure相当于 - 但是我可以用partial
定义square
简洁,太?有没有办法将关键字/命名参数传递给partial,以便预先确定一个特定的参数?或者,这不得不由partial
来处理,而是函数文字,例如#(pow % 2)
?
简短的回答:这是不是习惯。 Clojure倾向于通过参数计数进行调度与JVM可以有效实现的内容有关(解构的成本比较昂贵得多);你从中得到的越多,代码越受影响。 – 2013-03-27 02:31:14