Saltar al contenido

09 · Estructuras de Datos

Indexa una colección opcional

Usa values?.[index] para obtener nil si la colección es nil o falta la entrada. Una colección nil no evalúa el índice. Continúa con ?.campo para leerlo solo cuando exista la entrada.

En esta página

Usa values?.[index] para obtener nil si la colección es nil o falta la entrada. Una colección nil no evalúa el índice. Continúa con ?.campo para leerlo solo cuando exista la entrada.

Ejemplo completo

Indexa una colección opcional.

05-safe-index.zolo
Playground
struct User { name: str }

let users: [User]? = [User { name: "Ada" }, User { name: "Linus" }]
let selected = 1
let name = users?.[selected]?.name ?? "No selection"
let absent = users?.[10]?.name ?? "No selection"
let unavailable: [User]? = nil
let calls = 0
fn choose() -> int { calls += 1; return 0 }
let skipped = unavailable?.[choose()]?.name ?? "No data"

assert(name == "Linus")
assert(absent == "No selection")
assert(skipped == "No data")
assert(calls == 0)
let counts = #{2: 7}
assert(counts?.[2] == 7)
assert(counts?.[0] == nil)
print(name)
print(absent)
print(skipped)

Referencia

Referencia · Programa fuente

zolo run examples/features/40-syntax-fourth/05-safe-index.zolo --no-cache

Consulta también

Índice global

Encuentra tu camino por Zolo

Prueba una idea

Empieza aquí

9 resultados

9 resultados

enespt-br