我刚刚学习Scala,在这个Scala程序中,答案是75.为什么?为什么25与3相乘?我无法理解那部分 “的println(乐趣(一))”这里的答案是75.那么,为什么25在这个Scala程序中乘以3?
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
}
}
fun:Int => AnyVal是方法functionExample的一个参数。主要你调用functionExample和fun参数作为bhaskar。所以println(fun(a))这一行输出fun(a)的结果。 a是25,乐趣是bhaskar。 bhaskar返回* 3。 – matt
好的谢谢!但bhaskar如何返回* 3?它返回b * 3。不能抱歉 –
bhaskar需要一个参数,b,这是一个int。在functionExample中调用它时,会将a作为参数传递。所以b = a,则返回b * 3。 – matt