In Swift, an extension is a way of defining members for classes after the fact. Or you could say that this (based on the new) is an unusual way of compiling a function:
extension Double {
var mm: Double { return self * 1_000.0 }
func mm1() -> Double { return self * 1_000.0 }
}
func mm(a: Double) -> Double {
return a * 1_000.0
}
print("One meter is \(1.mm) milimeters")
print("One meter is \(1.mm1()) milimeters")
print("One meter is \(mm(1)) milimeters")
I have never seen anything like it. Is there anything similar in other languages?
source
share