07 · Coincidencia de Patrones
Enlaces de patrones con is
Usa is con un patrón de valor para probar y enlazar en una condición. Las capturas son visibles solo en el camino exitoso, incluidas condiciones siguientes. Las pruebas existentes is Tipo e is not Tipo mantienen su significado.
En esta página
Usa is con un patrón de valor para probar y enlazar en una condición. Las capturas son visibles solo en el camino exitoso, incluidas condiciones siguientes. Las pruebas existentes is Tipo e is not Tipo mantienen su significado.
Ejemplo completo
Enlaces de patrones con 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")
Reglas y comportamiento
Condiciones y recuperación de errores · Documentación
Desde un checkout del repositorio:
zolo examples/features/is_patterns.zolo
Consulta también