Я изучаю scala (как это!), Но есть кое-что, что я не понимаю. Я читал о правильном ассоциативном операнде по именам методов, заканчивающихся на «:». Легко понять, но я хотел определить свою собственную ассоциативную функцию с именем add3To :.Scala понимание права ассоциативный операнд
У меня есть SyntaxError и не знают, почему:
case class MyInt(x : Int) {
def add3 = x+3
def add3To:= x+3 // dont understand whats wrong here
}
val myInt = MyInt(4)
println(myInt add3) // working
println(add3To myInt) // not working
Может быть (я уверен) я сделал немую ошибку! Но я этого не вижу.
спасибо. это означает, что я не могу определить метод, который является правильным ассоциативным и принимает только один операнд (add3to myInt). Ваш метод я также не могу назвать «3 addTo myInt»? – chrisf
@chrisf: 1) Вы могли бы просто определить 'def add3To (mi: MyInt) = i.x + 3' и называть его' add3To (myInt) '. 2) Вы можете добавить метод 'addTo (mi: MyInt)' to 'Int' - см. [' Implicit class'] (http://docs.scala-lang.org/sips/pending/implicit-classes.html). – senia