06 · Funciones
Argumentos nombrados abreviados
Una llamada con name: pasa la variable name del llamador. Puedes mezclar valores explícitos y abreviados y reordenarlos por etiqueta. Una variable ausente es un error; el formateador conserva la abreviatura.
En esta página
Una llamada con name: pasa la variable name del llamador. Puedes mezclar valores explícitos y abreviados y reordenarlos por etiqueta. Una variable ausente es un error; el formateador conserva la abreviatura.
Ejemplo completo
Argumentos nombrados abreviados.
20-named-argument-shorthand.zolo
// Named argument shorthand keeps the label and uses the local value.
struct User {
name: str,
email: str,
active: bool,
}
fn create_user(name: str, email: str, active: bool = true) -> User {
User { name, email, active }
}
struct Team {
title: str,
}
impl Team {
fn contact(self, name: str, email: str) -> str {
"{self.title}: {name} <{email}>"
}
}
fn main() {
let name = "Ana"
let email = "ana@example.com"
// Reordering and defaults are the same as for explicit named arguments.
let user = create_user(email:, name:)
print("{user.name} <{user.email}>") // expected: Ana <ana@example.com>
print(user.active) // expected: true
// Explicit values and shorthand can be mixed.
let disabled = create_user(name:, email:, active: false)
print(disabled.active) // expected: false
let team = Team { title: "Zolo" }
print(team.contact(email:, name:)) // expected: Zolo: Ana <ana@example.com>
}
Reglas y comportamiento
Parámetros de funciones y lambdas · Documentación
Desde un checkout del repositorio:
zolo examples/features/05-functions/20-named-argument-shorthand.zolo
Consulta también