Saltar al contenido

07 · Coincidencia de Patrones

Compara con un valor existente

Un patrón ^request_id compara con el enlace request_id del alcance externo. No crea un enlace nuevo ni puede usar un nombre introducido por el mismo patrón. Los valores comparados deben tener tipos compatibles.

En esta página

Un patrón ^request_id compara con el enlace request_id del alcance externo. No crea un enlace nuevo ni puede usar un nombre introducido por el mismo patrón. Los valores comparados deben tener tipos compatibles.

Ejemplo completo

Compara con un valor existente.

08-pin-patterns.zolo
Playground
struct Reply { request_id: int, data: str }

let request_id = 42
let reply = Reply { request_id: 42, data: "accepted" }
let other = Reply { request_id: 99, data: "stale" }
let accepted = match reply {
    { request_id: ^request_id, data, .. } => data,
    _ => "ignored"
}
let ignored = match other {
    { request_id: ^request_id, data, .. } => data,
    _ => "ignored"
}
assert(accepted == "accepted")
assert(ignored == "ignored")
assert(request_id == 42)
print(accepted)
print(ignored)

Referencia

Referencia · Programa fuente

zolo run examples/features/40-syntax-fourth/08-pin-patterns.zolo --no-cache

Consulta también

Índice global

Encuentra tu camino por Zolo

Prueba una idea

Empieza aquí

9 resultados

9 resultados

enespt-br