CodeBlanks Logo Icon CodeBlanks

Özet - Fonksiyonlar

arrow, named ve first-class'ı birleştirerek bir hesap yardımcı yazarsın.

Özet - Fonksiyonlar

Bu grupta fonksiyonların temel taşlarını gördün. void dönüşsüz, int/String gibi türler ise dönüşlü fonksiyonlar tanımlar. return değeri döndürür ve fonksiyonu bitirir.

Ok fonksiyonu => tek satırlık dönüşleri kısa yazar. İsimli ve konumsal parametrelerle esnek imzalar kurulur; required zorunlu, varsayılan değer ise boş çağrıya karşı korur.

First-class olma sayesinde fonksiyonu bir değer gibi geçirir, callback ve higher-order desenlerini uygularsın. Son görevde bunların hepsini birleştiren küçük bir hesap yardımcı yazacaksın.

Uygulama Üçlü hesap

Bir triple(int n) ok fonksiyonu tanımla; gövde n * 3 olsun. main içinden print(triple(7)) çağrısı ekle.

Başlangıç kodu

main.dart
void main() {
  // triple ok fonksiyonunu tanımla

  // sonuçu yazdır
}

Örnek çözüm

main.dart
int triple(int n) => n * 3;

void main() {
  print(triple(7));
}

Beklenen çıktı

21

Uygulama Hesap yardımcı

Bir doubleIt(int n) ok fonksiyonu tanımla (n * 2). Bir apply(int Function(int) f, int x) higher-order fonksiyonu tanımla (print(f(x))). main içinden apply(doubleIt, 6) çağrısı ekle.

Başlangıç kodu

main.dart
void main() {
  // doubleIt ve apply fonksiyonlarını tanımla

  // çağrı ekle
}

Örnek çözüm

main.dart
int doubleIt(int n) => n * 2;

void apply(int Function(int) f, int x) {
  print(f(x));
}

void main() {
  apply(doubleIt, 6);
}

Beklenen çıktı

12

Soru ve cevaplar

Dersin sorularını cevaplarıyla birlikte inceleyebilirsin. Kendini denemek istersen dersi interaktif olarak çöz.

1 Hangisi arrow fonksiyon?

  • int f(int n) { return n; }
  • int f(int n) { n; }
  • void f(int n) => return n;
  • int f(int n) => n; Doğru cevap

Açıklama: => işareti ok fonksiyonunu belirtir.

2 Kavramları eşleştir

Kavram Anlamı
void Dönüş yok
=> Ok fonksiyon
required Zorunlu isimli
Function(int) Fonksiyon türü

3 İsimli çağrı

Soru
void greet({required String name}) { print(name); }
void main() { greet(____); }
Cevap
void greet({required String name}) { print(name); }
void main() { greet(name: 'Ayşe'); }

Açıklama: isimli parametre ad: değer biçiminde çağrılır.

Başlangıç bölümündeki tüm dersler