



全文预览已结束
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、闭包闭包是很多动态语言提供的一个很方便的功能,它有点像Java中的内部类,不同的是闭包中只有一个方法,但这个方法可以有任意个参数。java 代码def closure = param - println(hello $param) closure.call(world!)这段代码会输出”hello world”。闭包用“”括起,“-”前面是参数,后面是处理语句,可以使用call调用,也可以在“”后直接使用“()”来执行。闭包可以有多个参数,各个参数用“,”隔开。如果只有一个参数的话可以省略不写,可以使用关键字“it”来代表。我们可以把上面的例子像下面这样写:java 代码closure = println(hello $it) (world)或者java 代码closure = param1,param2-println(param1+param2) (hello ,world)上面的几种写法都会输出“hello world”。2、集合(1)Listjava 代码def list = 1, 2, hello, new java.util.Date() assert list.size() = 4assert list1=2assert list.get(2) = hello(2)Mapjava 代码def map = name:James, location:London assert map.size() = 2assert map.get(name) = Jamesassert maplocation=London(3)循环java 代码 def list = 1, 2, 3 for (i in list) print i println() list.eachitem-print item println() name:yanhua,addr:beijing.eachprintln it name:yanhua,addr:beijing.eachkey,value-println $key _ $value 上面的运行的结果如下:123123name=yanhuaaddr=beijingname _ yanhuaaddr _ beijing(4)collect遍历集合,逐个传递给闭包,处理后的结果返回给对应的项。java 代码def value = 1, 2, 3.collect it * 2 assert value = 2, 4, 6(5)find根据闭包断言,返回集合中找到的第一个项目。java 代码def value = 1, 2, 3.find it 1 assert value = 2(6)findAll根据闭包断言,返回集合中所有找到的项目。java 代码def value = 1, 2, 3.findAll it 1 assert value = 2, 3(7)inject遍历集合,第一次将传递的值和集合项目传给闭包,将处理结果作为传递的值,和下一个集合项目传给闭包,依此类推。java 代码def value = 1, 2, 3.inject(counting: ) str, item - str + item assert value = counting: 123value = 1, 2, 3.inject(0) count, item - count + item assert value = 6(8)every如果集合中所有项目都匹配闭包断言,就返回true,否则返回false。java 代码def value = 1, 2, 3.every it item 2 assert value value = 1, 2, 3.any item - item 3 assert value = false(10)min/max返回集合中的最小/最大项目(对象必须可比较)。java 代码def value = 9, 4, 2, 10, 5.max() assert value = 10value = 9, 4, 2, 10, 5.min() assert value = 2value = x, y, a, z.min() assert value = a(11)join连接集合中的值成一个字符串。java 代码def value = 1, 2, 3.join(-) assert value = 1-2-3 盈佳科技有限公司是甲骨文Oracle公司在北京指定授权IT学习中心,坐落于海淀区北四环中路。主要从事Oracle Java软件开发实训和学员的就业安排。Oracle Java软件开发实训课程摆脱了传统单一编程训练的知识结构,整个实训体系分为技术层面、理论层
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 公路水运试验检测师桥梁隧道真题及答案解析完整版
- 幼儿园庆中秋策划活动方案
- 无人营销方案
- 水源热泵拆除施工方案
- 水处理咨询方案设计
- 实验学校社团活动方案策划
- 活动组织与策划方案设计
- 淮安设计方案咨询
- 网络架构咨询服务方案
- 品种营销方案
- 光伏区除草合同模板(3篇)
- 2025年产前诊断知识考核试题及答案
- (安徽卷)2025年高考历史试题
- 涂装技能师考试题及答案
- 国庆节前安全培训课件
- 农行超级柜台业务知识考试题库(含答案)
- 新标准大学英语(第三版)综合教程3(智慧版)课件 Unit6 Path to prosperity
- 3认识你自己-大学生自我意识发展课件
- 中药学全套(完整版)课件
- GB 1886.232-2016食品安全国家标准食品添加剂羧甲基纤维素钠
- 育儿嫂服务合同
评论
0/150
提交评论