Pular para o conteúdo

06 · Funções

Argumentos de um record

Passe os campos nomeados com ..options. O record é avaliado uma vez, na ordem da chamada; argumentos explícitos substituem os campos expandidos em qualquer posição. Rótulos desconhecidos e tipos incompatíveis são erros.

Nesta página

Passe os campos nomeados com ..options. O record é avaliado uma vez, na ordem da chamada; argumentos explícitos substituem os campos expandidos em qualquer posição. Rótulos desconhecidos e tipos incompatíveis são erros.

Exemplo completo

Argumentos de um record.

01-record-arguments.zolo
Playground
struct ConnectionOptions { host: str, timeout: int }

fn connect(host: str, timeout wait: int, retries: int = 2) -> str =
    "{host}: timeout={wait}, retries={retries}"

let options = ConnectionOptions { host: "api.example.test", timeout: 30 }
let fast = connect(..options, timeout: 5)
let slow = connect(timeout: 60, ..options)
assert(fast == "api.example.test: timeout=5, retries=2")
assert(slow == "api.example.test: timeout=60, retries=2")
print(fast)
print(slow)

Referência

Referência · Programa fonte

zolo run examples/features/40-syntax-fourth/01-record-arguments.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