typestar

Tuplas y pares :ok en Elixir

La convención de tuplas {:ok, ...} y {:error, ...}, hablada aquí por una bóveda terca.

# A tuple is a fixed-size bundle; {:ok, value} and {:error, reason}
# are the shapes every Elixir library speaks.
defmodule Vault do
  def open("6-2-8"), do: {:ok, "deed to the tin mine"}
  def open(_guess), do: {:error, :wrong_combination}
end

{:ok, prize} = Vault.open("6-2-8")
IO.puts("inside: #{prize}")

{:error, reason} = Vault.open("1-1-1")
IO.puts("no luck: #{reason}")

Cómo funciona

  1. Vault.open devuelve {:ok, ...} para la combinación correcta y {:error, ...} para el resto.
  2. {:ok, prize} = ... coincide con la forma del éxito y vincula el contenido en una línea.
  3. La llamada fallida coincide con {:error, reason}, y el átomo se imprime como texto plano.

Palabras clave y builtins usados aquí

El intento, en números

Líneas
12
Caracteres a escribir
374
Tokens
86
Ritmo de tres estrellas
75 tpm

Al ritmo de tres estrellas de 75 tokens por minuto, este intento toma unos 69 segundos.

Escribe este fragmento

Paso 2 de 3 en Listas y tuplas; paso 8 de 27 en Fundamentos del lenguaje.

← Anterior Siguiente →