scala求值策略
来源:互联网 发布:招商银行黄金行情软件 编辑:程序博客网 时间:2024/06/04 22:20
关于scala中求值策略的相关问题
Scala里有两种求职策略:
Call by value 按值进行调用,对函数实参求值,且仅求值一次,求到的值会传入函数,直接替换掉函数里面所对应的形式参数
Call by name 按名调用,在进行函数调用的时候不会对函数的实参进行表达式的求值,而是把表达式传入函数体内,替换掉函数体内所对应的形式参数,在函数体内每次使用到这个形参的时候,会进行求值,即进行函数实参每次在函数体内被用到时都会求值
Scala通常使用call by value,如果函数形参类型以“=>” 开头,那么会使用call by name
Def foo(x: Int) = x //Call by value
Def foo(x: => Int) =x //call by name
求职策略的例子
例1 ,Call by value,先计算test(7,8),再计算7*7,最后得49
例2 ,Call by name,先计算test(3+4,8),再计算(3+4)*(3+4),然后计算(7)*(3+4),再计算7*7,最后得49
阅读全文
0 0
- scala求值策略
- Scala的求值策略
- Scala学习第五弹:求值策略
- C++ "短路求值"策略
- 深入理解JavaScript系列(19):求值策略(Evaluation strategy)
- 深入理解JavaScript系列(19):求值策略
- 深入理解JavaScript系列(19):求值策略(Evaluation strategy)
- 深入理解JavaScript系列(19):求值策略
- 深入理解JavaScript系列(19):求值策略(Evaluation strategy)
- 深入JavaScript(11)求值策略(Evaluation strategy)
- 深入理解JavaScript系列(19):求值策略(Evaluation strategy)
- 深入理解JavaScript系列(19):求值策略(Evaluation strategy)
- 求值
- 求值
- 求值
- 求值
- 求值
- SICP学习笔记--求值策略 (Evaluation strategy) --应用次序 (Applicative order) vs 正常次序 (Normal order)
- 蓝牙模块“初始化”
- 理清Js的各种遍历
- java sqllite 数据库学习测试
- Sublime self.view.run_command('revert') 无法生效的问题
- Bash Scripts基础I
- scala求值策略
- Lucene 实现txt文件的构建索引与查询
- spring配置fastjson解析
- 今日总结
- jQuery中各种页面加载时事件的小总
- Java虚拟机:Java虚拟机编译器
- [Unity&GameSparks]如何实现玩家之间的数据共享
- java跨平台的原理
- 输入输出 端口类型