Skip to content

Instantly share code, notes, and snippets.

@ryantxr
Created March 31, 2016 00:19
Show Gist options
  • Save ryantxr/8543a1fc7f00f2ced0ada6902097311a to your computer and use it in GitHub Desktop.
Save ryantxr/8543a1fc7f00f2ced0ada6902097311a to your computer and use it in GitHub Desktop.
Example of infix operator overload in Swift
struct Vector
{
var x: Double = 0
var y: Double = 0
init(x: Double, y: Double)
{
self.x = x
self.y = y
}
}
// v0 = v1 + v2
func +(left: Vector, right: Vector) -> Vector
{
return Vector(left.x + right.x, left.y + right.y)
}
// v1 += v2
func += (inout left : Vector, right: Vector)
{
left.x += right.x
left.y += right.y
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment