Saltar al contenido

06 · Funciones

Argumentos de un record

Pasa los campos nombrados con ..options. El record se evalúa una vez, en el orden de la llamada; los argumentos explícitos sustituyen los campos expandidos en cualquier posición. Las etiquetas desconocidas y los tipos incompatibles son errores.

En esta página

Pasa los campos nombrados con ..options. El record se evalúa una vez, en el orden de la llamada; los argumentos explícitos sustituyen los campos expandidos en cualquier posición. Las etiquetas desconocidas y los tipos incompatibles son errores.

Ejemplo completo

Argumentos de un 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)

Referencia

Referencia · Programa fuente

zolo run examples/features/40-syntax-fourth/01-record-arguments.zolo --no-cache

Consulta también

Índice global

Encuentra tu camino por Zolo

Prueba una idea

Empieza aquí

9 resultados

9 resultados

enespt-br