Propiedades calculadas en Swift
Derivadas al leer, observadas al escribir.
struct Leg {
var distanceNm: Double
var hours: Double
// Computed from the stored properties on every read.
var speedKts: Double { distanceNm / hours }
// didSet observes writes to a stored property.
var protests = 0 {
didSet { print("Protest count now \(protests)") }
}
}
var beat = Leg(distanceNm: 4.2, hours: 0.75)
print("Averaging \(beat.speedKts) kts")
beat.protests = 1
beat.distanceNm = 5.0
print("Recomputed: \(beat.speedKts) kts")
Cómo funciona
var speedKts: Double { ... }recalcula desde el estado guardado.didSetcorre después de cada escritura aprotests.- Cambiar
distanceNmcambia la próxima lectura despeedKts.
Palabras clave y builtins usados aquí
DoubledidSetprintstructvar
El intento, en números
- Líneas
- 18
- Caracteres a escribir
- 442
- Tokens
- 90
- Ritmo de tres estrellas
- 65 tpm
Al ritmo de tres estrellas de 65 tokens por minuto, este intento toma unos 83 segundos.
Paso 3 de 3 en Structs y clases; paso 18 de 27 en Fundamentos del lenguaje.