Gu

Guardas en Elixir

53 ejercicios

Acerca de Guardas

Las guardas se usan como complemento de la coincidencia de patrones. Permiten hacer comprobaciones más complejas. Se pueden usar en algunas situaciones, pero no en todas, en las que se puede usar la coincidencia de patrones; por ejemplo, en cláusulas de función o en cláusulas de case.

def empty?(list) when is_list(list) and length(list) == 0 do
  true
end
  • Las guardas empiezan por la palabra clave when, seguida de una expresión booleana.

  • Las expresiones de guarda son funciones especiales que:

    • Deben ser puras y no modificar ningún estado global.
    • Deben devolver estrictamente los valores true o false.
  • En la documentación de Elixir se encuentra una lista de guardas comunes. Entre ellas se incluyen:

  • Puedes definir tus propias guardas con defguard.

    • Según la convención de nombres de Elixir, los nombres de las guardas deben empezar por is_.

      defmodule HTTP do
        defguard is_success(code) when code >= 200 and code < 300
      
        def handle_response(code) when is_success(code) do
          :ok
        end
      end
      
Editar en GitHub El enlace se abre en una nueva ventana o pestaña

Aprende Guardas

La práctica está bloqueada

Desbloquea 6 ejercicios más para practicar Guardas