Scala基础篇-05求值策略

Scala的求值策略有2种:

  • call by value
  • call by name

如何区分?

例子:

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,不需要先进行表达式的值计算。

 

posted on 2018-10-29 10:08  moonlight.ml  阅读(102)  评论(0编辑  收藏  举报

导航