首页  

scala 函数参数的求值策略     所属分类 scala 浏览量 548
Call By Value
: 对函数实参求值,且仅求一次

Call By Name
: => 函数实参在函数体内被用到时都会求值

var value = 0
def valueIncr() = {
  value+=1
  value
}
def test1(a:Int) = a+a
def test2(a: =>Int) = a+a

test1(valueIncr())
res205: Int = 2
value
res206: Int = 1

// valueIncr() 调用两次
// valueIncr() + valueIncr()
test2(valueIncr())
res207: Int = 5

value
res208: Int = 3

上一篇     下一篇
play action 各种写法

Scala函数调用省略点号和括号

Scala 闭包 和 柯里化

scala 元组

Scala中的 -> <- => {} ()

play框架调试关键代码