Dart-Anonim Fonksiyonlar

Anonim Fonksiyon Nedir?

//DART DİLİNDE NORMAL FONKSİYON
void main(){
AdiOlanFonksiyon();
}
var AdiOlanFonskiyon(){
print("BEN ADI OLAN BİR FONKSİYONUM");
}
//DART DİLİNDE ANONİM FONKSİYON
void main(){
}(){print("BEN ADI OLMAYAN FONKSİYONUM");}

ANONİM FONKSİYONLAR NASIL ÇALIŞTIRILIR?

void main(){
BanaFonksiyonAta();
}
var BanaFonksiyonAta = (){print("BEN ANONİM FONKSİYONUM");}
//DAHA RAHAT GÖRMENİZ İÇİN SATIRLARI AÇALIMvoid main(){
BanaFonksiyonAta();
}
var BanaFonksiyonAta = ()
{
print("BEN ANONİM FONKSİYONUM");
}

Neler yaptık;

  • Öncelikle main bloğunun dışına “BanaFonksiyonAta” adında bir değişken tanımladık.
  • Daha sonra bu değişkene atamak için anonim bir fonksiyon oluşturduk.
  • Bu anonim fonksiyona da çalıştırıldığı zaman ekrana bir şeyler yazması için print metodunu verdik.
  • Eğer buraya kadar okuyup anlamadıysanız lütfen kod bloklarını çalıştırdığınız editöre yazıp kendiniz uygulayınız.
void main(){
KisaltilmisAnonimFonksiyon();
}
var KisaltilmisAnonimFonksiyon=()=>print("BEN KISALTILMIŞ BİR ANONİM FONKSİYONUM");

BİR FONKSİYONA PARAMETRE OLARAK BAŞKA BİR FONKSİYON GÖNDERME

void main(){SayilariUretmeFabrikasi(AnonimFonksiyonlarlaToplama);}var AnonimFonksiyonlarlaToplama=(x,y)=>(print(x+y)); //ANONİM FONKSİYONUMUZSayilariUretmeFabrikasi(Sayilar){                    //ANONİM FONKSİYONA PARAMETRE GÖNDERDİĞİMİZ FONKSİYONUMUZSayilar(5,8);}

Şimdi neler yaptığımızı açıklayalım.

  • Öncelikle “x ve y” adında parametleri olan bir anonim fonksiyon oluşturduk
  • Anonim fonksiyomuzu atamak için “AnonimFonksiyonlarlaToplama” adında bir değişken oluşturduk.
  • Daha sonra anonim fonksiyomuza parametre gönderecek fonksiyonu oluşturduk.
  • Parametreyi gönderebilmesi için “Sayilar”adında bir parametre daha oluşturduk.
  • Oluşturulan bu parametreye de “5 ve 8” değerlerini verdik
  • Son olarak anonim fonksiyonun çalışıp kendisine parametre olarak gönderilen sayıları toplaması için main bloğu içersinde “SayilariUretmeFabrikasi” adlı fonksiyonumuza parametre olarak “AnonimFonksiyonlarlaToplama” fonksiyonunu verdik.

Biraz daha açıklamaya çalışayım;

  • SayilariUretmeFabrikasi sayilar adında parametre alıyor. Bu parametre içersinde iki adet sayı tutuyor.
  • Anonim fonksiyonumuz ise kendisine gönderilen x ve y adındaki parametleri toplayıp ekrana yazdırıyor
  • Main bloğu içinde yapılan işlem SayilariUretmeFabrikasi içerisine AnonimFonksiyonlarlaToplama adlı parametreyi alıyor. Bakıyor bu parametre ne yapıyor kendisine verilen iki sayıyı toplayıp ekrana yazdırıyor.
  • E SayilariUretmeFabrikasi adı üzerinde sayı üretiyor. Ürettiği yani bizim elle gireceğimiz sayıları bu fabrika nerede tutacak tabiki fabrika içerisinde ki depolarda yani Sayilar adlı parametre içerisinde.
  • SayilariUretmeFabrikasi’nin içinde şimdi ne var sayilar adlı bir depo yani 5 ve 8 sayıları.
  • E AnonimFonksiyonlarlaToplama fonksiyonu ne yapıyordu adı üzerinde toplama.4
  • Şimdi biz main bloğu içinde SayilariUretmeFabrikasi deyip yanına bir de AnonimFonksiyonlarlaToplama adlı fonksiyonu çağırırsak ne yapar? Tabiki üretilen sayıları fabrikadan alıp toplama işlemi yapar ve ekrana yazar.
void main(){
SayilariUretmeFabrikasi((x,y)=>(print(x+y)));
}

SayilariUretmeFabrikasi(Sayilar){
Sayilar(5,8);

}
  • Bir önceki örnek kodlarda görmüş olduğumuz “AnonimFonksiyonlarlaToplama” adlı değişkeni sildik.
  • Anonim fonksiyonu main bloğu içerisinde parametre bekleyen fonksiyonumuza direkt olarak yazdık. İşlem bu kadar.

--

--

Bilgisayar Programıcısı-AÖF Yönetim Bilişim Sistemleri/DART&FLUTTER

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store
AbdullahTaş

Bilgisayar Programıcısı-AÖF Yönetim Bilişim Sistemleri/DART&FLUTTER