examples/functions/02_lambdas.cat
# Exemple 4 : Lambdas et blocs anonymes
print("⇒ Lambdas simples")
# Lambda sans paramètres
action = () => {
print("Lambda exécutée!")
42
}
valeur = action()
print(f"Résultat de la lambda: {valeur}")
# Lambda avec un paramètre
doubler = (x) => { x * 2 }
print("doubler(21) =", doubler(21))
# Lambda avec plusieurs paramètres
multiplier = (a, b) => { a * b }
print("multiplier(6, 7) =", multiplier(6, 7))
print("\n⇒ Lambdas avec logique")
# Lambda avec calcul intermédiaire
calculer_moyenne = (a, b, c) => {
somme = a + b + c
somme / 3
}
moyenne = calculer_moyenne(10, 20, 30)
print(f"Moyenne de 10, 20, 30: {moyenne}")
# Lambda avec condition
valeur_absolue = (x) => {
match x {
n if n < 0 => { -n }
n => { n }
}
}
print("abs(-42) =", valeur_absolue(-42))
print("abs(42) =", valeur_absolue(42))
print("\n⇒ Utilisation avec itérations")
# Appliquer une lambda à une séquence
tripler = (x) => { x * 3 }
print("Tripler les nombres de 1 à 5:")
for n in range(1, 6) {
print(f" {n} * 3 = {tripler(n)}")
}
# Lambda pour filtrer
est_pair = (x) => { x % 2 == 0 }
print("\nTest de parité:")
for n in range(1, 11) {
if est_pair(n) {
print(f" {n} est pair")
}
}