Saltar al contenido

06 · Funciones

Lambdas cortas de predicado

Los accesos desde underscore usan el mismo parámetro implícito. Combina campos, cálculos y pruebas booleanas; usa una lambda explícita si el alcance resulta ambiguo.

En esta página

Los accesos desde underscore usan el mismo parámetro implícito. Combina campos, cálculos y pruebas booleanas; usa una lambda explícita si el alcance resulta ambiguo.

Ejemplo completo

Lambdas cortas de predicado.

19-short-lambda-predicates.zolo
Playground
// Short lambdas share one parameter across the argument's rooted accesses.

struct User { name: str, age: int, active: bool }
struct Line { price: int, quantity: int }

fn main() {
    let users = [
        User { name: "Ada", age: 36, active: true },
        User { name: "Bo", age: 17, active: true },
        User { name: "Cy", age: 24, active: false },
    ]
    print(users.filter(_.active && _.age >= 18).map(_.name))
    // expected: [Ada]


    let lines = [Line { price: 3, quantity: 4 }, Line { price: 5, quantity: 2 }]
    print(lines.map(_.price * _.quantity))
    // expected: [12, 10]


    let adjustment = 2
    print(lines.map(_.price + adjustment))
    // expected: [5, 7]

}

Reglas y comportamiento

Parámetros de funciones y lambdas · Documentación

Desde un checkout del repositorio:

zolo examples/features/05-functions/19-short-lambda-predicates.zolo

Consulta también

Índice global

Encuentra tu camino por Zolo

Prueba una idea

Empieza aquí

9 resultados

9 resultados

enespt-br