Scala Operators

In Scala, operators are methods. Any method with a single parameter can be used as an infix operator.

Defining and using operators

case class Vec(x: Double, y: Double) {
  def +(that: Vec) = Vec(this.x + that.x, this.y + that.y)
}

val vector1 = Vec(1.0, 1.0)
val vector2 = Vec(2.0, 2.0)

val vector3 = vector1 + vector2
vector3.x  // 3.0
vector3.y  // 3.0

You can use any legal identifier as an operator. This includes a name like add or a symbol(s) like +.

Related concepts

Scala Operators — Structure map

Clickable & Draggable!

Scala Operators — Related pages: