Módulos y def en Elixir
El programa Elixir más pequeño: un módulo de funciones con nombre y dos llamadas al nivel superior.
# defmodule groups functions; def makes them public, dot calls them.
defmodule Lighthouse do
def greet(keeper) do
IO.puts("Welcome to Gull Rock, #{keeper}!")
end
def flash(times) do
IO.puts(String.duplicate("* ", times) <> "sweep")
end
end
Lighthouse.greet("Ada")
Lighthouse.flash(3)
Cómo funciona
defmodule Lighthouse doabre el módulo ydefdefine dos funciones públicas adentro.String.duplicaterepite el destello y<>pega"sweep"al final.- Las llamadas se leen módulo-punto-función:
Lighthouse.greet("Ada")y luegoLighthouse.flash(3).
Palabras clave y builtins usados aquí
defdefmoduledoend
El intento, en números
- Líneas
- 13
- Caracteres a escribir
- 285
- Tokens
- 64
- Ritmo de tres estrellas
- 80 tpm
Al ritmo de tres estrellas de 80 tokens por minuto, este intento toma unos 48 segundos.
Paso 1 de 3 en Módulos y funciones; paso 1 de 27 en Fundamentos del lenguaje.