Una función Lambda o expresión Lamba, son pequeñas funciones sin nombre que se definen en línea. Se utilizan, no solo en Godot, si no en muchos lenguajes, para realizar tareas sencillas y se pueden pasar como argumento a otras funciones o almacenarse en una variable.
En GDScript las lambdas son Callables personalizados que no estan asociados a ningún Objeto.
Vamos a ver un ejemplo donde quedará más claro
var miLambda = func (message):
print(message)
miLambda.call("Hola!")
button_pressed.connect(func(): print("Botón presionado!"))
Aqui tenemos dos ejemplos, el primero es una función que imprime un mensaje y la hemos vinculado a una variable, de manera que se puede ejecutar con un call.
El segundo ejemplo es una función lambda que esta dentro del connect al apretar un botón que imprimirá un mensaje.
Las funciones Lambda son útiles para :
- Realizar tareas sencillas en línea
- Evitar la duplicación de código
- Pasar funciones como argumentos a otras funciones
Ventajas :
- Código más conciso
- Más fáciles de usar
- Flexibilidad
Desventajas :
- Solo pueden realizar tareas sencillas
- Díficiles de debugar
Nivel