Pular para o conteúdo

07 · Casamento de Padrões

Bindings de padrões com is

Use is com um padrão de valor para testar e criar bindings em uma condição. Capturas ficam visíveis apenas no caminho bem-sucedido, incluindo condições seguintes. Testes existentes is Tipo e is not Tipo mantêm seus significados.

Nesta página

Use is com um padrão de valor para testar e criar bindings em uma condição. Capturas ficam visíveis apenas no caminho bem-sucedido, incluindo condições seguintes. Testes existentes is Tipo e is not Tipo mantêm seus significados.

Exemplo completo

Bindings de padrões com is.

is_patterns.zolo
Playground
enum Reading { Value(int), Missing }

fn read(input: Reading) -> int {
    guard input is .Value(value) else { return 0 }
    value
}

let input: Reading = .Value(7)
if input is .Value(value) && value > 0 {
    assert(value == 7)
}
assert(read(input) == 7)
assert(read(Reading.Missing) == 0)
let values = [if input is .Value(value) => value]
let names = #{if input is .Value(value) => [value]: "selected"}
assert(values[0] == 7)
assert(names[7] == "selected")

Regras e comportamento

Condições e recuperação de erros · Documentação

A partir de um checkout do repositório:

zolo examples/features/is_patterns.zolo

Índice global

Encontre seu caminho pela Zolo

Experimente uma ideia

Comece por aqui

9 resultados

9 resultados

enespt-br