typestar

Argumentos de métodos en Ruby

Valores por defecto, argumentos de palabra clave y splats en métodos comunes.

def brew(drink, size: "medium", extra_shot: false)
  desc = "#{size} #{drink}"
  desc += " + shot" if extra_shot
  desc
end

puts brew("latte")
puts brew("mocha", size: "large", extra_shot: true)

# un parámetro splat recoge cualquier cantidad de argumentos posicionales
def total(*prices, tax: 0.0)
  (prices.sum * (1 + tax)).round(2)
end

puts total(3.5, 4.25)
puts total(10, 20, tax: 0.08)

Cómo funciona

  1. Los argumentos de palabra clave con valores por defecto documentan la llamada.
  2. Quien llama sobrescribe solo las palabras clave que le importan.
  3. *prices junta cualquier cantidad de argumentos posicionales en un arreglo.

Palabras clave y builtins usados aquí

El intento, en números

Líneas
16
Caracteres a escribir
384
Tokens
112
Ritmo de tres estrellas
85 tpm

Al ritmo de tres estrellas de 85 tokens por minuto, este intento toma unos 79 segundos.

Escribe este fragmento

Paso 1 de 3 en Métodos y bloques; paso 16 de 29 en Fundamentos del lenguaje.

← Anterior Siguiente →