Saltar al contenido

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
Playground
// 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

Índice global

Encuentra tu camino por Zolo

Prueba una idea

Empieza aquí

9 resultados

9 resultados

enespt-br