用 Java 進行函數語言程式設計 - 咖哩化



咖哩化是一種技術,其中一個帶有多個引數的函式呼叫被替換為帶有較少引數的多個方法呼叫。

檢視下面的等式。

(1 + 2 + 3) = 1 + (2 + 3) = 1 + 5 = 6

關於函式

f(1,2,3) = g(1) + h(2 + 3) = 1 + 5 = 6

這種函式級聯稱為咖哩化,而且對級聯函式的呼叫必須與呼叫主函式的結果相同。

以下示例說明了咖哩化如何運作。

import java.util.function.Function;

public class FunctionTester {
   public static void main(String[] args) {
      Function<Integer, Function<Integer, Function<Integer, Integer>>> 
         addNumbers = u -> v -> w -> u + v + w;             
      int result = addNumbers.apply(2).apply(3).apply(4);        
      System.out.println(result);
   } 
}

輸出

9
廣告
© . All rights reserved.