object Arity1 extends App{
def say(something:String) = println(something)
say ("this works")
this say "this too"
say "this shouldn't?"
}
最后一句话是有道理的,不编译的原因是什么?
答案 0 :(得分:2)
因为有一些叫做postfix方法的调用。
写作时
def x(): Int = 1
x toString
实际上是以下内容:
def x(): Int = 1
x.toString()
正如您所看到的,它与您的代码示例存在冲突,其中Scala正在寻找方法名称,但您提供的是String,因此Scala会抱怨这一点。