文档章节

各种语言lambda闭包

chunquedong
 chunquedong
发布于 2015/06/09 15:15
字数 246
阅读 98
收藏 0

闭包和lambda是两个不同的概念。一个lambda表达式,没有绑定其它环境时,我们称它为open lambda,而绑定了其它环境的lambda表达式,我们称它们为闭包(closure),评估一个open lambda的结果就是一个闭包。详见https://blog.csdn.net/u010386612/article/details/79875303

swift

reversed = sorted(names, { (s1: String, s2: String) -> Bool in return s1 > s2 })

java8

list.sort((a, b) -> { Integer.compare(a.length(),b.length() });

C++

sort(x,x + N,[](float a, float b) { return std::abs(a) < std::abs(b); });

javascript

list.sort(function b(a, b){ a < b });

其他非主流语言

Float max = measurements.fold(0.0) ((max, num) => num>max then num else max);

var longStrings = lstOfStrings.where( \ s -> s.length > 2 )

Collections.sort(someStrings) [ a, b | a.length - b.length ]

max(strings, {a, b -> a.length < b.length})

list.sort |a, b| { a < b }

 

© 著作权归作者所有

共有 人打赏支持
chunquedong

chunquedong

粉丝 45
博文 131
码字总数 36559
作品 4
海淀
高级程序员
[Kotlin] 关于lambda,你想知道的都在这里

从Java语言转到Kotlin,最让人头疼的问题恐怕就是lambda表达式了。 lambda,准确的中文翻译是:匿名函数。 不过,在Kotlin语言中本身就有匿名函数的概念,为了区分,我们姑且把它叫做Lambda表...

欧阳锋
2017/11/26
0
0
[iOS、Unity、Android] 浅谈闭包的使用方法

前言 我们经常所编程语言的的进步速度是落后于硬件的发展速度的。 但是最近几年,闭包语法在各个语言中都有自己的体现形式,例如   •  C语言中使用函数指针作为回调函数的入口;   •...

浩浩老师
2015/09/07
43
0
Lambda 将从根本上改变开发 Java 程序的方式

当今世界主流编程语言无不吸纳强大的闭包概念,但有个例外,它就是Java。数年来,Java语言中增加闭包特征的工作看起来毫无进展。 早在15年之前,Scala语言和TypeSafe框架的作者Martin Odersk...

oschina
2012/10/22
5.7K
39
Java 8 Lambda限制:闭包

摘要:主要讨论一下java8 lambda的一些限制和闭包的概念,以及简单比较一下java和javascripe实现闭包的区别。 假设我们想创建一个简单的线程,只在控制台上打印一些东西: 如果我们想在线程里...

力谱宿云
2017/03/23
288
3
PHP V5.3 中的新特性,第 2 部分: 闭包及 lambda 函数

闭包函数和 lambda 函数绝对不是新出现的概念;它们均来自函数编程领域。函数编程 是一种编程风格,它将关注点从执行命令转移到表达式计算。这些表达式是使用函数构成的,结合这些函数可以得...

未来十年
2011/12/19
0
0

没有更多内容

加载失败,请刷新页面

加载更多

20180925 df与du命令、fdisk磁盘分区

df 命令 disk filesystem的缩写,查看已挂载磁盘的总容量、使用容量、剩余容量信息。 [root@centos01 ~]# dfFilesystem 1K-blocks Used Available Use% Mounted on/dev/sda3 27...

野雪球
29分钟前
0
0
Shell编程(expect同步文件、指定host和同步文件、构建文件分发系统、批量执行命令)

expect脚本同步文件 需求:自动同步文件 实验准备: A机器:192.168.248.130 B机器:192.168.248.129 实现: 1.A机器编写4.expect脚本文件,内容如下所示: #!/usr/bin/expectset passwd "...

蛋黄_Yolks
55分钟前
2
0
ppwjs之bootstrap颜色:背景颜色

<!DOCTYPT html><html><head><meta http-equiv="content-type" content="text/html; charset=utf-8" /><title>ppwjs欢迎您</title><link rel="icon" href="/favicon.ico" ......

ppwjs
56分钟前
1
0
Ubuntu与 Fedora之对比

大家好。今天我将重点介绍两个流行的Linux发行版之间的一些特性和差异; Ubuntu 18.04和Fedora 28。它们都有自己的包管理; Ubuntu使用DEB,而Fedora使用RPM,但它们都具有相同的桌面环境(GNO...

linuxprobe16
59分钟前
2
0
线性代数入门

线性代数的概念对于理解机器学习背后的原理非常重要,尤其是在深度学习领域中。它可以帮助我们更好地理解算法内部到底是怎么运行的,借此,我们就能够更好的做出决策。所以,如果你真的希望了...

牛奋Debug
昨天
3
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部