Pular para o conteúdo

09 · Estruturas de Dados

Indexe uma coleção opcional

Use values?.[index] para obter nil se a coleção for nil ou a entrada estiver ausente. Uma coleção nil não avalia o índice. Continue com ?.campo para ler o campo apenas quando a entrada existir.

Nesta página

Use values?.[index] para obter nil se a coleção for nil ou a entrada estiver ausente. Uma coleção nil não avalia o índice. Continue com ?.campo para ler o campo apenas quando a entrada existir.

Exemplo completo

Indexe uma coleção 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)

Referência

Referência · Programa fonte

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

Veja também

Índice global

Encontre seu caminho pela Zolo

Experimente uma ideia

Comece por aqui

9 resultados

9 resultados

enespt-br