我有一個函數f: (a, b, c = 5, d = 0) -> {...}
,它需要2到4個參數。是否有這個部分應用程序的名稱 - 就像函數式編程技術一樣?
我想通過這個函數總是使用最後一個參數的默認值的「綁定」的版本,但使用特定值(比如1和2)前兩個參數。那就是,我想要g:() -> f(1, 2)
。
如果我做的部分應用程序,我會得到g': (c = 5, d = 0) -> f(1, 2, c, d)
。也就是說,部分申請不會強制執行我期望的g
的零參數性質,而是給我g'
,這個參數需要0到2個參數。
什麼是正從f
g
叫,如果有什麼技術?
'f'已經有了默認參數,所以爲什麼不對'g:() - > f(1,2)'進行修飾? – 2011-06-02 16:28:46
我不明白這個問題如何與咖喱相關。你所描述的問題似乎並沒有涉及使一個函數接受一個參數並返回另一個函數,這就是currying的含義。 – murgatroid99 2011-06-02 16:39:20
正如@ murgatroid99指出的那樣,這與currying無關...我認爲你的意思是「部分應用」,這是很多人與currying混淆的東西。我知道你所描述的技術沒有特別的名字。 – 2011-06-02 16:52:26