Ben bu örnek programda olduğu gibi, metot çağrımı gelen noktaları atlamak için deneyin:Scala'da "yineleme yöntemi <method name> türü" türü ne anlama geliyor?
object Test extends Application {
val baz = new Baz
var foo = baz bar
println(foo)
}
class Baz {
def bar = "bar"
}
garip hatalar olsun. Birincisi error: recursive method foo needs type: println foo
ve diğeri error: type mismatch; found: Unit, required: Int, println(foo)
. foo
türünün String olması gerektiğini belirtirseniz ilk hata bazı garip bir şekilde düzeltilmiştir. İkincisi, baz
ve bar
arasında bir nokta koymadan önce gitmeyecek. Bunun nedeni nedir? Scala neden baz bar
'un özyinelemeli bir yöntem olduğunu düşünüyor?
Benzer: http://stackoverflow.com/questions/2246212/why-does-scalas-semicolon-inference-fail-here – missingfaktor