Saltar al contenido

07 · Coincidencia de Patrones

Conserva la cola exacta de la tupla

Desestructura (status, ...payload) para reunir los elementos restantes de la tupla. payload conserva el tipo y el orden de cada elemento. El enlace de la cola debe ser el último y no convierte los elementos en un array homogéneo.

En esta página

Desestructura (status, ...payload) para reunir los elementos restantes de la tupla. payload conserva el tipo y el orden de cada elemento. El enlace de la cola debe ser el último y no convierte los elementos en un array homogéneo.

Ejemplo completo

Conserva la cola exacta de la tupla.

20-tuple-rest.zolo
Playground
fn response() -> (int, str, bool) { return [200, "queued", true] }
fn describe(payload: (str, bool)) -> str = "{payload[0]}: {payload[1]}"

fn summarize(packet: (int, str, bool)) -> str {
    let (status, ...payload) = packet
    let (...whole) = packet
    let (_, _, _, ...empty) = packet
    assert(status == 200)
    assert(payload[0] == "queued")
    assert(payload[1] == true)
    assert(whole[0] == 200)
    assert(empty.len() == 0)
    "{status}: {describe(payload)}"
}
print(summarize(response()))

Referencia

Referencia · Programa fuente

zolo run examples/features/40-syntax-fourth/20-tuple-rest.zolo --no-cache

Consulta también

Índice global

Encuentra tu camino por Zolo

Prueba una idea

Empieza aquí

9 resultados

9 resultados

enespt-br