當我嘗試從方法調用省略點,就像這個例子程序:斯卡拉中的「遞歸方法<method name>需要類型」是什麼意思?
object Test extends Application {
val baz = new Baz
var foo = baz bar
println(foo)
}
class Baz {
def bar = "bar"
}
我一些奇怪的錯誤。第一個是error: recursive method foo needs type: println foo
,另一個是error: type mismatch; found: Unit, required: Int, println(foo)
。如果我指定foo
的類型應該是String,那麼第一個錯誤是以某種奇怪的方式修復的。第二個在我在baz
和bar
之間加點之前不會消失。這是什麼原因?爲什麼Scala認爲baz bar
是遞歸方法?
相似:http://stackoverflow.com/questions/2246212/why-does-scalas-semicolon-inference-fail-here – missingfaktor 2010-09-01 13:19:57