Menu
CoddyTech

Fonctions lambda, partie 1

Fait partie de la section Logique et flux d’exécution du Journey GDScript de Coddy. Leçon 54 sur 78.

Une lambda est une fonction sans nom, écrite sous forme de valeur. Tu peux la stocker dans une variable comme un nombre ou une chaîne de caractères :

var add = func(a, b): return a + b

Elle commence par func, les paramètres et deux-points, comme toute fonction, mais elle n’a pas de nom. Un corps composé d’une seule instruction peut rester sur la même ligne.

Pour exécuter une lambda stockée dans une variable, appelez sa méthode call() avec les arguments :

print(add.call(5, 3))
8

add(5, 3) ne fonctionne pas : GDScript cherche une fonction nommée add dans le script et signale Function "add()" not found avant l’exécution du programme.

Une lambda plus longue comporte un bloc indenté. Comme toute fonction, elle a besoin de return pour renvoyer une valeur :

var greet = func(player_name):
	var message = "Hello, " + player_name
	return message + "!"
print(greet.call("Ana"))
Hello, Ana!

Une lambda sans return renvoie null, donc func(n): n * 2 calcule la valeur et la jette.

Les paramètres et le résultat peuvent avoir des types : func(n: int) -> int: return n * 2. La valeur d’une lambda est un Callable, le type GDScript pour « quelque chose que tu peux appeler ».

challenge icon

Défi

Facile

Le programme lit trois nombres entiers, a, b et c.

  1. Crée une lambda avec trois paramètres, x, y et z, qui renvoie leur produit, et stocke-la dans une variable nommée multiply.
  2. Appelle-la avec a, b et c et affiche le résultat.

Pour les entrées 2, 3 et 4, la sortie est :

24

Essayez vous-même

extends Node

func _ready():
	var a := int(OS.read_string_from_stdin())
	var b := int(OS.read_string_from_stdin())
	var c := int(OS.read_string_from_stdin())
	# Crée la fonction lambda multiply ici

	# Appelle multiply avec a, b et c, et affiche le résultat
quiz iconTestez-vous

Cette leçon comprend un petit quiz. Commencez la leçon pour y répondre et suivre votre progression.

Toutes les leçons de Logique et flux d’exécution

Entraînez-vous par vous-même : Compilateur GDScript en ligne