Scala的求值策略有2种:
如何区分?
例子:
def bar(x:Int,y: => Int) =1 def loop(): Int=loop bar(1,loop)//依然能返回结果 //x参数是call by value,先求得loop值之后才能进行之后的计算。 bar(loop,1)//进入死循环 //y参数是call by name,不需要先进行表达式的值计算。