Scala Operators: Defining and using operators

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

Defining and using operators

Scala Operators: Defining and using operators — Structure map

Clickable & Draggable!

Scala Operators: Defining and using operators — Related pages: