Dart Dilinde Lambda Fonksiyonu (İsimsiz Fonksiyonlar)
Bu yazımızda Dart dilinde lambda fonksiyonu olarak da bilinen isimsiz fonksiyonları (Anonymous Functions) anlatacağız.
Dart Dilinde Lambda Fonksiyonu
Fonksiyonları anlattığımız yazıda fark edeceğiniz üzere fonksiyonlarımızı oluştururken onlara hep bir ad veriyorduk. Lambda, bir diğer adıyla isimsiz fonksiyonlarda ise adından anlaşılacağı üzerine fonksiyonlarımızın bir adı olmamakta.
Peki böyle bir ifadeyi fonksiyon olarak nasıl kullanabiliriz sorusuna cevabı direkt bir örnek üzerinden gösterelim:
void main()
{
sayiTopla (60, 40);
}
void sayiTopla (int x, int y)
{
int toplama = x+y;
print("Sayıların toplamı: $toplama");
}
Yukarıdaki örnekte fark edileceği üzere fonksiyonumuzun sayiTopla adında bir ismi vardır. Aynı işlevi isimsiz bir şekilde aşağıdaki gibi yazabiliriz:
void main()
{
//lambda fonksiyonu bir isme sahip olmadığı için değişkene eşitlenir.
var isimsizFonksiyon = (int x, int y)
{
int toplama = x+y;
print("Sayıların toplamı: $toplama");
};
//Lambda fonksiyonu çalışabilmesi adına değişken adıyla çağırıyoruz.
isimsizFonksiyon (10,30);
}
İsimsiz olarak fonksiyonumuzu oluşturduk ancak bunu hafızaya depolayabilmesi için değişken ataması yapmamız lazım. Bu yüzden fonksiyonumuzu isimsizFonksiyon adında bir değişkene atadık ve bir değişken olduğu için noktalı virgül ; ile bitirdik.
Ancak fonksiyonu çalıştırabilmek için ana fonksiyonumuzun sınırları içinde değişkenimizin adı olan isimsizFonksiyon ifadesini parantezle () belirttik.
Kodu çalıştırmak için: DartLang