↓みたいなCallable型の引数を取る関数があった時に
func foreach(arr:Array, f:Callable):
 var i:int = 0
 for e in arr:
   f.call(i, e)
   i+=1

↓foreach()の第2引数に定義済の関数を渡すのが普通のやり方
var result:int = 0
var arr:Array[int] = [3, 5, 7]
func sum(i, e):
 print("%d = %d" % [i, e])
 result += e
func _ready():
 foreach(arr, sum)
 print("result = %d" % result)

↓foreach()の第2引数に直接funcを書けるのがラムダ式
var result:int = 0
var arr:Array[int] = [3, 5, 7]
func _ready():
 foreach(arr, func(i, e):
   print("%d = %d" % [i, e])
   result += e
 )
 print("result = %d" % result)

signalを受け取った時の処理とかもconnect("signal", func():~)みたいな書き方が出来るから
より感覚的にコーディング出来る気がする