Итак, я читаю о расширениях классов в документации Swift. Я понимаю назначение и функциональность расширений класса. Затем Apple предоставляет этот пример того, как расширить существующий тип:
extension Double {
var km: Double { return self * 1_000.0 }
var m: Double { return self }
var cm: Double { return self / 100.0 }
var mm: Double { return self / 1_000.0 }
var ft: Double { return self / 3.28084 }
}
let oneInch = 25.4.mm
println("One inch is \(oneInch) meters")
// prints "One inch is 0.0254 meters"
let threeFeet = 3.ft
println("Three feet is \(threeFeet) meters")
// prints "Three feet is 0.914399970739201 meters"
Может ли кто-нибудь объяснить, почему и как можно использовать точечную нотацию для литерала с плавающей запятой?
В приведенном выше примере они используют запись через точку для значений 25,4 и 3 для доступа к вычисляемым свойствам класса Double. Apple не дает подробных объяснений, почему это можно сделать.