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
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
Veja também