typestar

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

  1. var speedKts: Double { ... } recalcula desde el estado guardado.
  2. didSet corre después de cada escritura a protests.
  3. Cambiar distanceNm cambia la próxima lectura de speedKts.

Palabras clave y builtins usados aquí

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.

Escribe este fragmento

Paso 3 de 3 en Structs y clases; paso 18 de 27 en Fundamentos del lenguaje.

← Anterior Siguiente →