currying

    0熱度

    2回答

    我有這樣的多態函數: def findFirst[A](as: Array[A], p: A => Boolean): Int = { @annotation.tailrec def loop(n: Int): Int = { if(n >= as.length) -1 else if(p(as(n))) n else loop(n + 1)

    2熱度

    4回答

    var add = function(a, b) { return a + b; } var addOne =add.bind(null,1); var result = addOne(4); console.log(result); 這裏的綁定的值是1,b是4 如何分配的結合值即)1到函數的第二個參數,而無需使用傳播算子(...)

    0熱度

    1回答

    我有以下的本地方法。 void Test(int i, int j, int k) { Console.WriteLine($"{i} {j} {k}"); } ,我有以下 public static class Curry { public static Func<T0, T1, Action<T2>> act2f3<T0, T1, T2>(Action<T

    0熱度

    2回答

    我下面從coursera課程而這個例子出現在演講,但是當我嘗試運行它,它如下拋出一個錯誤: 在對象的HelloWorld缺少參數列表方法的MapReduce 未應用的方法僅在預期函數類型時才轉換爲函數。 您可以通過編寫mapReduce _或mapReduce(_,_,_)(_,_)而不是mapReduce來明確此轉換。 變種鬥= MapReduce的(X => X,(X,Y)=> X * Y,0

    0熱度

    1回答

    我正在檢查凱爾的辛普森書「你不知道JS:這個&對象原型」的代碼,並堅持代碼示例,它寫在下面。 難道有人可以解釋一下,在執行var bar = foo.bind(null, 2);段代碼後,bar變量如何將「a」參數保存爲2並保存該保存的參數,以及爲什麼bar(3);代碼執行時不會覆蓋參數? function foo(a, b) { console.log(a, b);

    1熱度

    2回答

    我在用Ruby語言探索函數式編程。以下是我的Ruby版本。我已經在各種函數上進行了測試,包括反轉,過濾器,地圖等,並且如預期的那樣返回結果。但它會改變數據並需要賦值語句。任何人都可以幫助我做到這一點,但不違反功能範式嗎?任何人都可以幫助我在底部部分應用咖喱功能嗎?我懷疑有什麼明顯的我失蹤了。謝謝。 fold_l = lambda do |ray, base, funcky| if ray

    0熱度

    2回答

    目前與亞歷山大的curry咖喱功能必須調用funcall。但是,可以設置新功能的symbol-function,這樣我們就可以在沒有它的情況下將其視爲真正的功能。畫報上https://lispcookbook.github.io/cl-cookbook/functions.html#with-the-alexandria-library: (defun adder (foo bar) "

    0熱度

    1回答

    如何理解currying的功能? newSum和newFind如何工作? var currying = function(fn) { var args = []; return function() { if (!!arguments.length) { [].push.apply(args, arguments); // What's t

    2熱度

    1回答

    Ramda的流動分型有以下curried function definitions: declare type __CurriedFunction1<A, R, AA: A> = & ((...r: [AA]) => R) declare type CurriedFunction1<A, R> = __CurriedFunction1<A, R, *> declar

    0熱度

    1回答

    我只是知道這是簡單的部分應用程序,它可以(並且對Haskell來說)簡化語法?