Saltar al contenido

07 · Coincidencia de Patrones

Da un nombre a un patrón reutilizable

Declara pattern ActiveUser(name) = User { name, active: true, .. } y reutilízalo en matches o cláusulas de función. Los parámetros aportan los enlaces del llamador; los constructores se resuelven donde se definió el alias. El cuerpo del alias todavía no puede contener transformadores de view ni capturar valores externos mediante pins o expresiones de valor predeterminado.

En esta página

Declara pattern ActiveUser(name) = User { name, active: true, .. } y reutilízalo en matches o cláusulas de función. Los parámetros aportan los enlaces del llamador; los constructores se resuelven donde se definió el alias. El cuerpo del alias todavía no puede contener transformadores de view ni capturar valores externos mediante pins o expresiones de valor predeterminado.

Ejemplo completo

Da un nombre a un patrón reutilizable.

66-pattern-aliases.zolo
Playground
// Reuse one selection rule in display logic and filtered iteration.

struct User { name: str, active: bool }
pattern ActiveUser(name) = User { name, active: true, .. }

fn label(value ActiveUser(name): User) -> str = "Active: {name}"
fn label(value _: User) -> str = "Inactive"

let users = [
    User { name: "Ana", active: true },
    User { name: "Beto", active: false },
]
for case ActiveUser(name) in users { print(name) }
print(label(users[0]))
print(label(users[1]))

Referencia

Referencia · Programa fuente

zolo run examples/features/66-pattern-aliases.zolo --no-cache

Consulta también

Índice global

Encuentra tu camino por Zolo

Prueba una idea

Empieza aquí

9 resultados

9 resultados

enespt-br