typestar

Etiquetas de argumento en Swift

Las llamadas se leen como prosa; el guion bajo renuncia.

// Argument labels read like prose at the call site; defaults trim it.
func logLeg(from start: String, to finish: String,
            distanceNm: Double = 1.0) -> String {
    "\(start) -> \(finish): \(distanceNm) nm"
}

// An underscore drops the label entirely.
func corrected(_ seconds: Double, handicap: Double) -> Double {
    seconds * handicap
}

print(logLeg(from: "pin", to: "windward", distanceNm: 1.8))
print(logLeg(from: "windward", to: "leeward"))
print(corrected(3600, handicap: 0.92))

Cómo funciona

  1. from start: String separa la etiqueta del nombre interno.
  2. distanceNm: Double = 1.0 es un defecto que quien llama puede saltar.
  3. _ seconds suelta la primera etiqueta: corrected(3600, handicap:).

Palabras clave y builtins usados aquí

El intento, en números

Líneas
14
Caracteres a escribir
479
Tokens
109
Ritmo de tres estrellas
70 tpm

Al ritmo de tres estrellas de 70 tokens por minuto, este intento toma unos 93 segundos.

Escribe este fragmento

Paso 1 de 3 en Funciones y clausuras; paso 7 de 27 en Fundamentos del lenguaje.

← Anterior Siguiente →