DART-Üst Düzey Fonksiyonlar

DART-Üst Düzey Fonksiyonlar

WHERE

void main() { List<String> harfler= ["a","b","c","d"]; //STRING TIPTE LİSTE OLUŞTURDUK 
print(harfler.where(kontrol)); //LİSTEYİ WHERE İLE KONTROL EDİP EKRANA YAZDIRDIK
}
bool kontrol(String harf){ // BOOL TIPINDE KONTROL ADLI FONKSİYONU OLUŞTURUP,HARF ADINDA STRING PARAMETRE VERDIK
return harf== "a"; // LİSTEDE A HARFİ İLE EŞLEŞEN BİR HARF VAR MI DİYE SORUYORUZ EĞER VARSA
} // YANİ TRUE İSE YUKARIDA YAZMIŞ OLDUĞUMUZ PRİNT İLE EKRANA YAZDIRIYORUZ

Yukarıda ki kodlarımızı inceleyelim ve ne yaptığımızı anlamaya çalışalım.

  • İlk önce String tipte -int’de olabilir- bir liste oluşturduk ve içine string tipte veriler girdik.
  • Daha sonra main bloğunun dışına where metodunun gereksinimi olan bool tipinde bir fonksiyon oluşturuyoruz
  • Oluşturduğumuz bu fonksiyonun içinde bir kontrol oluşturuyoruz. -Bizim örneğimizde listeyi kontrol edip “a” harfine eşit olan harf var mı diye kontrol ediyoruz”
  • Son olarak main bloğunun içine kontrol şartlarını sağlayan liste varsa/oluştuysa ekrana yazması için print metodunun içersine alıyoruz.
  • harfler.where(kontrol); kod bloğu listeden yeni liste oluşturulurken listeyi kontrol ediyor başka bir deyişle listeyi süzüp,filtreliyor.
void main() {
List<int> sayilar = [1,2,3,4,5,6,7];
print(sayilar.where(kontrol));

}
bool kontrol(int sayi){
return sayi>3;
}
/*
* Diğer örnek kodlardaki işlemlerin aynısını yaptık
* değişen sadece liste tipi ve kontrol fonksiyonumuz oldu
* bu örnekte listede üçten büyük eleman var mı diye kontrol ettik
* ve varsa bunu ekrana yazdık.
* */

MAP

void main() {
List<int> sayilar = [1,2,3,4,5,6,7];
print(sayilar.map(kontrol));

}
kontrol(int sayi){
return sayi+3;
}

Yukarıda ki kodlarımızı inceleyelim ve ne yaptığımızı anlamaya çalışalım.

  • int tipinde bir liste oluşturduk.
  • kontrol adında bir fonksiyon ve fonksiyon parametresi olarak int tipinde bir parametre oluşturduk
  • hemen sonra fonksiyonumuza”var olan liste elemanlarını değiştirmesini ve parametremize listedeki sayılara üç ekleyip ve bu sonucu döndürmesini “ söylüyoruz.
  • main bloğu içinde ise map yapısının bu kontrolu gerçekleştirip var olan listeyi güncellemesini ve yeni bir liste oluşturarak ekrana yazdırmasını istiyoruz.

toList()

void main() {
List<int> sayilar = [1,2,3,4,5,6,7];
print(sayilar.map(kontrol).toList()); //BU SATIRA DİKKAT!!!

}
kontrol(int sayi){
return sayi+3;
}
//ÇIKTISI= [4,5,6,7,8,9,10]

Foreach

void main() {
List<int> sayilar = [1,2,3,4,5,6,7];
sayilar.forEach((eleman)=>print(eleman));
}

Yukarıda ki kodlarımızı inceleyelim ve ne yaptığımızı anlamaya çalışalım.

  • sayilar adında int tipinde bir liste oluşturduk
  • foreach metodu geriye değer döndermeyen yani void tipinde bir fonksiyona ihtiyaç duyar
  • void tipinde anonim bir fonksiyon oluşturduk
  • anonim fonksiyonun görevi foreach ile tüm listeyi dolaşıp listenin elemanları eleman parametresine tek tek aktarıp ekrana yazdırmak.
void main() {
List<int> sayilar = [1,2,3,4,5,6,7];
sayilar.forEach(elemanYazdir);

}
elemanYazdir(eleman){
print(eleman);
}

--

--

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