typestar

Clausuras en Swift

Llaves al final y $0: la forma del Swift de todos los días.

let finishers = ["Sable", "Kestrel", "Petrel", "Brant"]

// A closure is a function literal; trailing syntax moves it out of
// the parentheses, and $0 names the first parameter.
let shouted = finishers.map { $0.uppercased() }
print(shouted)

let podium = finishers.sorted { $0.count < $1.count }
print("Shortest name first: \(podium)")

// Closures capture their surroundings.
var horn = 0
let sound = { horn += 1 }
sound(); sound()
print("Horn sounded \(horn) times")

Cómo funciona

  1. map { $0.uppercased() } es una clausura fuera de los paréntesis.
  2. sorted { $0.count < $1.count } compara con dos posicionales.
  3. Las clausuras capturan: sound incrementa el horn de afuera.

Palabras clave y builtins usados aquí

El intento, en números

Líneas
15
Caracteres a escribir
469
Tokens
96
Ritmo de tres estrellas
65 tpm

Al ritmo de tres estrellas de 65 tokens por minuto, este intento toma unos 89 segundos.

Escribe este fragmento

Paso 2 de 3 en Funciones y clausuras; paso 8 de 27 en Fundamentos del lenguaje.

← Anterior Siguiente →