Сначала объявляю класс:
class Op(var x : Int) {
def +++(op: Op) = {
println(this.x + " +++ " + op.x)
this.x += op.x
this
}
def ***(op: Op) = {
println(this.x + " *** " + op.x)
this.x *= op.x
this
}
}
Теперь я выполняю выражение в REPL:
op1 +++ op2 +++ op3 *** op4
и выводит
Но почему метод ***
не идет первым? Не является ли приоритет ***
выше, чем +++
? А как насчет Java и C? Это то же самое, что и в Scala?