最近在看<<Clojure编程>>对第二章中的partial函数比较迷惑,因为书上的例子没看懂.第二天百度居然搜不到,可见Clojure这类的小众语言用的人还是不多.
幸亏python中也有这个函数,搜索了一下后再结合书的内容明白了,其实partial起到一个预先为某函数加上个别参数的功能,等到函数正式被调用的时候把剩下的参数补上即可.
这是python的例子:
from functools import partial
def func (a, b):
return a*b;
foo = partial(func, 2)
foo(3) # 6
Clojure的例子:
(def show-str
(partial #(str % %2 %3) 11 22)
)
(show-str 33)
;= '112233'