【发布时间】:2013-02-28 18:37:32
【问题描述】:
我是一个 scala 新手。
我想了解为什么这段代码的行为不像我预期的那样
def invokeFunc( myFunc: () => String ){
println(myFunc())
}
def callInvoker(){
invokeFunc({ return "this is a string" })
}
当我调用“callInvoker”时,我什么也得不到。我期望打印“这是一个字符串”,但没有返回。为什么?
【问题讨论】:
-
您是否有意省略了函数签名后面的“=”?
-
你能解释一下这个问题吗?
-
def functionName( arg: Arg ): ReturnType = { Body } 是函数的标准定义。您遗漏了告诉编译器您的函数正在返回 Unit 的“=”(在 Java 世界中为 void)。
-
不是故意的。我知道很多语言,有时会令人困惑。我加 ”;”在python中自动在Java中进行连接..只是还没有机会习惯scala。将努力遵守标准。谢谢。
标签: scala