时,我不明白为什么下面的代码不会编译:省略点链接调用
class Abc
{
def b (x : String) = x + "abc"
def a (y : String) =
{
val ls : List[String] = y.lines toList
b (ls.head)
}
}
Main.scala:8:错误:类型不匹配; 发现:java.lang.String中 需要的:int B(ls.head)
当我改变 “y.lines toList” 到
y.lines.toList
或甚至
y.lines toList;
它确实编译。
也许编译器能像
(y.lines).toList(b (ls.head))
或类似的东西,但我还是不明白的规则。
你可以在REPL中插入你的语句'(y.lines).toList(b(ls.head)) '(嗯,也许你这样做了吗?)来验证错误消息是否相同。那么 - 我做到了,事实上,它是。 :) – 2011-01-28 03:04:27