Gu

Guardas em Elixir

53 exercícios

Sobre Guardas

As guardas são usadas como complemento da correspondência de padrões. Permitem fazer verificações mais complexas. Podem ser usadas em algumas situações, mas não todas onde a correspondência de padrões também pode ser usada, por exemplo em cláusulas de funções ou em cláusulas case.

def empty?(list) when is_list(list) and length(list) == 0 do
  true
end
  • As guardas começam com a palavra-chave when, seguida de uma expressão Boolean.

  • As expressões de guarda são funções especiais que:

    • Têm de ser puras e não alterar nenhum estado global.
    • Têm de devolver valores true ou false estritos.
  • Encontras uma lista de guardas comuns na documentação do Elixir. Incluem:

  • Podes definir as tuas próprias guardas com defguard.

    • De acordo com a convenção de nomenclatura do Elixir, os nomes das guardas devem começar 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 via GitHub A ligação abre numa nova janela ou separador

Aprende Guardas

A prática está bloqueada

Desbloqueia mais 6 exercícios para praticares Guardas