Pelajaran 15
Closure dan higher-order
Anonymous, closure, fungsi sebagai argumen.
Pahami konsepnya
Fungsi anonymous: (a, b) => a + b — bisa disimpan ke variabel atau dikirim sebagai argumen. Closure: fungsi yang menangkap variabel dari scope luar. Higher-order: fungsi yang menerima/mengembalikan fungsi.
Coba contoh kode
Function buatPenghitung() {
int hitung = 0;
return () => ++hitung;
}
void main() {
var next = buatPenghitung();
print(next()); // 1
print(next()); // 2
print(next()); // 3
var kuadrat = (int n) => n * n;
print(kuadrat(7)); // 49
}hitung tertutup dalam closure — hanya fungsi next yang bisa mengaksesnya. Anonymous (int n) => n * n disimpan ke variabel kuadrat.
Latihan singkat
Uji: closure mulai 10 — next() harus `11`.