Lambda表达式

Posted lightac

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Lambda表达式相关的知识,希望对你有一定的参考价值。

一 λ演算

λ 演算可以被称为最小的通用程序设计语言:它包括一条变换规则 (变量替换) 和一条函数定义方式,λ演算之通用在于,任何一个可计算函数都能用这种形式来表达和求值。

λ演算可以是有类型的也可以是无类型的,仅仅当输入的的数据类型对于有类型的λ演算函数来说是可以接受的时,有类型的λ演算函数才能被使用。

 

☆λ演算中最关键的要素就是函数被当作变量处理,能够参与运算。

 

一个现象:

(λx.x 3)(λx.2+x)

依次代 (λx.2+x)进函数(λx.x 3),根据前面的介绍,任何形式λx的函数都可以接受其他函数作为参数。得到

λx.2+x 3

继 续将3代入函数λx.2+x得到2+3=5

原来是一个常数,是不是很有趣,这神奇之处就在于λ演算允许函数可以像变量一个样的传递然后继续运算。

 

最原始的λ演算的三个公理:

 

以上是关于Lambda表达式的主要内容,如果未能解决你的问题,请参考以下文章

表达式 lambda 和语句 lambda 的区别

Lambda简介

Lambda 表达式的演示样例-来源(MSDN)

线程池Lambda表达式

:Java之lambda表达式

JDK8新特性之Lambda表达式