我刚学习Scala,在这个Scala程序中答案是75.为什么?为什么25乘以3?我无法理解那部分" println(fun(a))"
object MainObject
{
def main(args: Array[String]) =
{
functionExample(25, bhaskar) // Passing a function as parameter
}
def functionExample(a:Int, fun:Int=>AnyVal):Unit=
{
println(fun(a)) // 75
}
def bhaskar(b:Int):Int =
{
b*3
}
}
答案 0 :(得分:2)
println(fun(a))
打印调用fun(a)
的结果。当您致电functionExample(25, bhaskar)
时,25
为a
,bhaskar
为fun
。 bhaskar
获取Int
并返回乘以3
。
因此,调用bhaskar(25)
的结果是75
。由于fun
为bhaskar
且a
为25
,fun(a)
会产生75
。