第76讲:模式匹配下的赋值语句
2015-08-04 22:43
232 查看
赋值操作背后的模式匹配,赋值过程可能返回多个值,此时为了接受多个值,我们可能用tuple定义几个变量来处理。
实例代码,如下
For 循环中的模式匹配,可以过滤数据,数据处理方面使用。
运行结果为:
a=1000,b=1000
a=1000,b=2000
a=3000,b=2000
c=1000,d=2000
参考资料:
百度网盘:http://pan.baidu.com/share/home?uk=4013289088#category/type=0
微信号:18610086859
DT大数据微信公众账号:DT_Spark
DT大数据梦工厂交流群:462923555/418110145/437123764
实例代码,如下
//@是别名的意思,a@b形成了tuple2二元元组 //把1000赋值给a和b,并返回二元组的内容给val a@b var a@b = 1000 println("a=" + a + ",b=" + b) b = 2000 //修改b的值,发现a值没有变化 println("a=" + a + ",b=" + b) a = 3000 //修改a的值,发现b值没有变化 println("a=" + a + ",b=" + b) //总上,a@b可以理解为分别定义了a,b两个变量 ,赋值为1000 val (c,d)= (1000,2000) // 分别向c,d赋值为1000,2000 println("c=" + c + ",d=" + d) //val (e,F) = (1000,2000) //编译报错,编译器会把F当作常量的模式进行匹配, //如果没有定义F就会报错,所以匹配时通常为小写 val Array(g,h) = Array(110,200) object Test {val 1 = 1 } object Test2 {val 2 = 3 }
For 循环中的模式匹配,可以过滤数据,数据处理方面使用。
for(i<-List(1,2,3,4,5)) println(i) //实际上调用的是foreach for(index@"Flink" <- List("hadoop","spark","Flink")) println(index) //为参数起了个别名进行匹配 for((language,"hadoop") <- Set("scala"->"spark","java"->"hadoop")) println(language) //给一个参数初始化进行匹配 for((k,v:Int) <- List(("spark",5),("hadoop","bigdata"))) println(v) //通过类型进行匹配
运行结果为:
a=1000,b=1000
a=1000,b=2000
a=3000,b=2000
c=1000,d=2000
参考资料:
百度网盘:http://pan.baidu.com/share/home?uk=4013289088#category/type=0
微信号:18610086859
DT大数据微信公众账号:DT_Spark
DT大数据梦工厂交流群:462923555/418110145/437123764
相关文章推荐
- 线程私有数据TSD——一键多值技术,线程同步中的互斥锁和条件变量
- 分享一款超棒的jQuery旋钮插件 - jQuery knob
- 对网上流传的股指上8000点的算法依据猜测 分类: 股票技术探讨 2015-08-04 22:43 1人阅读 评论(0) 收藏
- 嵌入式操作系统概述(3.2)------嵌入式系统软件及操作系统知识
- Java虚拟机类加载和执行机制
- 2015080402 - 可以不阅读完全本书的
- C# 遍历文件夹及其子文件夹来查找某个文件
- scala学习之for与function的认识
- 开发前奏—熟悉业务
- openssl dgst命令使用示例
- 函数参数一:传递与匹配规则
- 阿里推荐大赛:ODPS SQL 构建离线评估
- 【leetcode】 database Combine Two Tables
- 进程与线程
- C语言实现链队列代码
- CvvImage在高级别的Opencv2.4.11下的配置以及错误解决办法。
- 股票做T要点 分类: 股票技术探讨 2015-08-04 22:41 1人阅读 评论(0) 收藏
- Hello World♂
- 3个gif动画让你明白RotateAnimation的pivotX与pivotY
- 关于接口、关于序列化