Clojure中partial函數的疑惑

最近在看<<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'




發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章