Sadece iki bölüm olduğunda, ifade yöntem çağırma olarak görülür. Yani
println "Hello, world"
için tek olasılık elbette burada pek mantıklı değil
println."Hello, world"
olurdu. (***** bir ek için aşağıya bakın)
İsterseniz, belirsizliği gidermek için Console println "Hello, World"
yazabilirsiniz.
Bu dize örnekte olduğu ambigus görünmüyor, bir dize pek yöntem adı olabilir ama şu düşünebildiğim: Artık
class B
val b = new B
object A {
def apply(myB: B) { print("apply") }
def b { print("b") }
}
, A b
yazarken, ne alabilirim. Nasıl yorumlanmalı? Bu şu anlama gelir: İki bölümlü bir ifadede ne yapılacağına dair net bir kural vardır. Biraz etrafında yapabilirsiniz oyuncak, dinamik sınıfların ortaya çıkışıyla
ilavesi
(Ben kimsenin apply
ve reel metot çağrımı ... hakkında bölme kıllar başlar umut) ve tanımlamak aşağıdaki
object println extends Dynamic {
def typed[T] = asInstanceOf[T]
def applyDynamic(name: String)(args: Any*) = Console.println(name)
}
Ve şimdi, bak !, parantez yok:
println `Hello, world` // prints, "Hello, world"
Elbette, lütfen bunu f Çocukların ya da gerçek hayat kodunda.
Dizimi tören mi –