Scala使用匿名类主体中的空格调用单参数方法



在scala中,如何使用匿名类主体中的空间来调用单参数方法?

下面的add "Answer3"不工作

trait Question {
def add(answer:String):Unit = {
println("Received the answer=" + answer)
}
}
object Test {
val question:Question = new Question {
this add "Answer1" // working
add("Answer2")     // working

add "Answer3"      // NOT working, why? -> error: ';' expected but string literal found.
}
}

您正试图混合使用两种不同且相互冲突的方便语法选项。

instance.method(argument)

可以表示为。。。

instance method argument

并且,如果method()不带参数,那么它也可以用空格表示,但解析器需要一些帮助。

instance method;

在单独的轨道上,如果instancethis,则可以丢弃。

method(argument)

但是不能去掉括号,因为解析器试图将其解释为instance method,但失败了。

相关内容

  • 没有找到相关文章

最新更新