gunw avatar

[Grammer] 25 - Operator Methods

gunw

Published: 25 Jan 2019 › Updated: 25 Jan 2019[Grammer] 25 - Operator Methods

[Grammer] 25 - Operator Methods

  • Operator Methods
static func operator(parameters) -> ReturnType {
   Code
}
struct Position {
   var x : Double
   var y : Double
}
extension Position {
   static func ==(left: Position, right: Positon) -> Bool {
      return left.x == right.x && left.y == right.y
   }
   static func !=(left: Position, right: Position) -> Bool {
      return !(left == right)
   }
}

let a = Position(x: 1, y: 2)
let b = Position(x: 3, y: 4)
a == b // false
a != b // true


extension Position {
   static prefix func -(pos: Position) -> Position {
      return Position(x: -pos.x, y: -pos.u)
      }
   static postfix func ++(pos: inout Position) -> Position {
      let ret = pos
      pos.x += 1
      pos.y += 1
      return ret
   }
}
var a = Position(x: 1, y: 2)
var result = -a
dump(result)

result = a++
dump(result)
dumpt(a)

Leave [Grammer] 25 - Operator Methods to:

Written by

User

Read more #swift4 posts


Best Posts From gunw

We have not curated any of gunw's posts yet. But you can encourage our curation team to review posts by visiting them regularly and by referring other readers. Because we give priority to frequently read content.

More Posts From gunw