【发布时间】:2019-11-12 19:35:53
【问题描述】:
我写的是 Scala Repl
def sum(a: Int, b: Int) = a + b
这被评估为
sum: (a: Int, b: Int)Int 在 Repl。 Scala 中的def 被懒惰地评估。那么,Repl 显示的类型是什么?另外,当调用sum(1,2) 或(a: Int, b: Int)Int 是如何评估为Int 时,这是如何急切地评估的?
当我在 Scala 中使用 val 时,我注意到了这一点。如果我写val sum = (a: Int, b: Int) = a + b,这将被热切地评估为(Int, Int) => Int = <function2>,这很好,因为调用了apply。但我不明白def 的情况会发生什么。
【问题讨论】:
-
@DmytroMitin 是的,这有帮助。
标签: scala lazy-evaluation