- 1、本文档共68页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
Scala 中的函数式特征
ADC 2013
关于我
• 王宏江,花名:宏江
• Blog:hp://
• 经历:
– Java : 10y+
– Scala : 2y+
– 十年工作经验,2009年加入阿里,曾在阿里巴巴中
文站和担任架构师,现在中间件稳定
性平台部门
– Scala布道者
– 业余马拉松爱好者
说明
• 内容
1) Scala 中的函数式的特征
2) Scala类型系统中的函数式特征
• 交流:hps:///CSUG/csug/
• 旺旺群:
Scala交流和答疑:sugsug
函数式语言
纯函数式语言 非纯函数式语言
静态类型 动态类型
Haskell Miranda Clean
ML OCaml Scala F# Lisp Scheme Erlang
关于Scala语言
面向对象与函数式被看成一个硬币的两面,Scala试图将这两⾯融合起来
怎么理解这两种风格?
命令式与函数式
在 《程序设计语言—实践之路》一书中
将“面向对象”与“面向过程”都归类为“命令式”语
言
命令式与函数式
命令式与函数式
• 图灵机/冯诺依曼体系
– 其运算可看做:
– 通过修改内存来反映运算的结果。
– (用命令修改状态)
• Lambda演算(λ calculus)形式
– 连续运算(基于函数)得到结果
• 函数式程序是跟值打交道的,而不是跟状
态打交道的。它们的工具是表达式,而不
是命令。
— 《ML for the Working Programmer》
值 vs 状态
副作用(side effect)
Scala 的做法
• 同时支持val和var体现了scala的“平衡”也可
以说是“圆滑”
• 鼓励使用val ,但并不排斥var ;实际编码中
val 占大多数。
函数式是面向表达式的
Scala 中的表达式
• 1) 所有的表达式都有值
• 2) 除了赋值和函数调用表达式,内置的几个
表达式只有:if,while,for,try,match
• 3) 块表达式{…}是基本表达式的组合,它的值
是最后一个表达式的值。
Scala 中的表达式
• 一些表达式的值:
1) a=1;
2) while(a100){print(a)}
3) if(a2) 1;
• 赋值表达式、while表达式的值是Unit类型,它的值
是唯一的: ()
• if表达式缺乏else的话,不符合条件则返回Unit类
型的();即上面相当于:if(a2) 1 else ()
赋值语句的注意点:
不同于java :
1)while( (line = readLine() ) != null )
不起作用,前边的 line = readLine() 得到的是Unit
类型值
2 )x=y=1; // y=1; x=()
y=1表达式的结果是()
您可能关注的文档
- SaCaDataViz数据可视化分析平台白皮书.PDF
- Sepam20406080系列信赖源自完美保护.pdf
- SINUMERIK模具加工应用包.pdf
- SN65DP141DisplayPort线性转接驱动器.pdf
- SN75DP130支持链路协商的DisplayPort11-Texas.pdf
- SoundAI智能音箱产品麦克风阵列结构设计指导文档.PDF
- SSK系列可燃气体报警控制器.doc
- Substation软件安装及配置-Bentley.doc
- TableBaseInfoTableTitle投资策略20160506定期报告.PDF
- TableBaseInfoTableTitle投资策略201701定期报告新.PDF
最近下载
- 2024译林版三年级英语上册期末专项训练:句子排序.pdf VIP
- 2022-2023学年济南市市中区九年级上学期期末化学试卷(含答案解析).docx
- 2023-2024学年福建省厦门市思明区莲花中学七年级(上)期末数学试卷及答案解析.pdf
- 家庭情况调查表【范本模板】.pdf VIP
- 北师大版(2024新版)七年级上册生物期末模拟练习试卷(含答案解析).docx
- 稠油油藏水平井堵水调剖技术研究应用.ppt
- 1_清稿1-质量管理体系认证规则(征求意见稿)V1.1.doc
- 财政数据迁移方案.docx
- 全员专项学习培训试题题库单选、多选试题附答案.doc
- 2025年蛇年总结PPT模板.pptx VIP
文档评论(0)