我认为在Scala中我们可以在调用方法时离开paratnehsis。我试图这样做,但编译器抱怨:
object Objd {
def m1(s: String) = {
StringBuilder.newBuilder
.append(s)
.toString()
}
def m2(s : Stirng) = {
StringBuilder.newBuilder
.append("Another string")
.append(";")
.append(m1 s) //compile error. Not applicable to String
.toString()
}
}
为什么在这种情况下不可能?
答案 0 :(得分:1)
一般情况下你不能这样做。规则是
expr m1 arg1 m2 arg2 ...
装置
expr.m1(arg1).m2(arg2)...
在这种情况下,你没有开始链。你可以写append(this m1 s)
。