Martin Odersky'den "Scala'da Programlama" adlı kitapta ilk bölümde basit bir örnek var:Harita üzerinde + = + = =?
var capital = Map("US" -> "Washington", "France" -> "Paris")
capital += ("Japan" -> "Tokyo")
İkinci satır
capital = capital + ("Japan" -> "Tokyo")
olarak da yazılabilir. = notasyon. Harita sınıfında bir + = yöntem bulunamadı. Aynı davranışı kendi
class Foo() {
def +(value:String) = {
println(value)
this
}
}
object Main {
def main(args: Array[String]) = {
var foo = new Foo()
foo = foo + "bar"
foo += "bar"
}
}
gibi kendi örneğimde yaptım. Kendimi sorguladım, neden + = notasyon mümkün. Örneğin, Foo sınıfındaki yöntem denenirse işe yaramaz. Bu beni ön ek gösterime yönlendiriyor. + Atama işareti için bir önek gösterimi mi (=)? Birisi bu davranışı açıklayabilir mi?
çok teşekkürler. Cevabınız ile bunun da birden fazla karakter için çalıştığını öğrendim (~ ~ ~ gibi). – Steve