一、前言
Java 8 為了擺脫太囉嗦,匿名類別再進化,但其實是為了函數化(Functional),導入函數式程式設計(Functional programming, FP)理念。
數學與電腦科學中,Lambda的概念很早就提出過,直到解決邏輯一致性問題(簡單類型λ演算),才逐漸奠定λ演算在語言學和電腦科學學界擁有一席之地。
λ-演算結合了兩種簡化方式,使得這個語義變得簡單,變為可計算的函數,明確的計算模型。
第一種簡化是不給予函式一個確定名稱,而「匿名」地對待它們。例如,兩數的平方和函式
可以用匿名的形式重新寫為:
第二個簡化是λ演算只使用單一個參數輸入的函式。如果普通函式需要兩個參數,例如
可以重新寫成:
這是稱為柯里化的方法,對於柯里化轉換版的計算方式如下
lambda演算中的所有函式都是匿名的,它們沒有名稱,它們只接受一個輸入變數,柯里化用於實現有多個輸入變數的函式。

