0Pricing
Dart Academy · Ders

Üst Düzey İşlevler ve Currying

İşlevleri aktarın, döndürün ve kısmen uygulayın.

Üst Düzey İşlevler ve Currying, CoddyKit'te ücretsiz bir Dart Academy dersidir. Bu, 4 dersinin 1. dersidir. Aşağıdan dersin tamamını ücretsiz okuyabilir, sonra tarayıcıda yerleşik kod editörü ve 7/24 yapay zeka koçu ile uygulamalı olarak pratik yapabilirsin. Bu, Dart Academy öğrenme yolunun bir parçasıdır ve ilerlemeniz web ve CoddyKit uygulaması arasında senkronize olur. Dart Academy kursu toplamda 4 dersten oluşur.

İşlevler Değerdir

Dart'ta bir işlev, değişkende saklayabileceğiniz bir değerden ibarettir. Bu tek fikir, işlevsel kalıpların tüm dünyasının kapısını açar. 🎯

int square(int x) => x * x;
var op = square;
print(op(4)); // 16

Üst Düzey Ne Anlama Gelir

Üst düzey işlev, bağımsız değişken olarak bir işlev alan veya bir işlev döndüren işlevdir. Bunları liste yöntemleriyle zaten kullandınız.

İşlev Aktarmak

Davranışı bağımsız değişken olarak aktardığınızda ne olacağına çağıran taraf karar verir. Burada uygula, aldığı işlevi çalıştırır.

int apply(int v, int Function(int) f) => f(v);
print(apply(5, (x) => x + 1)); // 6

İşlev Türü Sözdizimi

int Function(int) türü, int alan ve int döndüren bir işlev olarak okunur. Türler, niyetinizi son derece açık hâle getirir.

void run(String Function(String) format) {
  print(format('hi'));
}

İşlev Döndürmek

Üst düzey bir işlev ayrıca bir işlev döndürebilir. Döndürülen işlev, oluşturulduğu sırada çevresindeki değerleri hatırlar.

Function makeAdder(int n) {
  return (int x) => x + n;
}

Döndürülen İşlevi Kullanmak

Özelleştirilmiş bir işlev oluşturmak için üreticiyi bir kez çağırın, ardından onu yeniden kullanın. Her sonuç kendine ait küçük bir yapılandırılmış araçtır.

var add10 = makeAdder(10);
print(add10(5)); // 15
print(add10(1)); // 11

Currying ile Tanışın

Currying, birden çok bağımsız değişken alan işlevi tek bağımsız değişken alan işlevler zincirine dönüştürür. Her seferinde bir değer sağlarsınız.

int Function(int) add(int a) => (int b) => a + b;
print(add(3)(4)); // 7

Kısmi Uygulama

İlk bağımsız değişkeni şimdi sabitleyip kalanları sonraya bırakın. Buna kısmi uygulama denir ve yeniden kullanılabilir, önceden yüklenmiş yardımcılar oluşturmanızı sağlar.

var add3 = add(3);
print(add3(10)); // 13
print(add3(20)); // 23

Neden Currying Kullanılır

Currying, mantığı yeniden yazmadan genel işlevlerden özelleştirilmiş işlevler oluşturmanızı sağlar. Küçük işlem hatları oluştururken özellikle yararlıdır.

İşlev Parametreleri Türü

Karmaşık işlev türlerine okunabilir imzaları korumak için bir tür tanımı ile ad verebilirsiniz.

typedef IntOp = int Function(int);
int apply(int v, IntOp f) => f(v);

Kısa Yol: İşlev Başvurusu

Bir yöntemi lambda ile sarmak yerine adını doğrudan aktarın. Bu doğrudan işlev başvurusu, çağrıları temiz ve düzenli tutar.

['1', '2', '3'].map(int.parse).forEach(print);

Kısa Kontrol

Üst düzey işlevleri ne kadar iyi anladığınızı kontrol edelim.

Özet

İşlevler değer olduğundan onları aktarabilir ve döndürebilirsiniz. Currying ve kısmi uygulama, genel işlevleri özelleştirilmiş araçlara dönüştürür. Harika iş! 🚀

Sıkça Sorulan Sorular

“Üst Düzey İşlevler ve Currying” dersi ücretsiz mi?

Evet — “Üst Düzey İşlevler ve Currying” dersin tüm metni burada web'de ücretsiz olarak okunabilir. Etkileşimli olarak pratik yapmak (yerleşik kod editörü ve 7/24 yapay zeka koçu) ve Dart Academy kursunun geri kalanını açmak için CoddyKit PRO'ya yükselt. Dart Academy kursu toplamda 4 dersten oluşur.

“Üst Düzey İşlevler ve Currying” dersinde ne öğreneceğim?

İşlevleri aktarın, döndürün ve kısmen uygulayın. Dart Academy ile uygulamalı kodu tarayıcıda doğrudan çalıştırarak pratik yaparsın ve 7/24 yapay zeka koçu dersi çalışırken sorularını yanıtlar.

Dart Academy öğrenmeye başlamak için deneyim gerekli mi?

Önceden deneyim gerekmez. CoddyKit'te Dart Academy, başlangıçtan ileri seviyeye kadar yapılandırıldığı için buradan başlayabilir veya başından başlayıp kendi hızında ilerleme yapabilirsin. Bu, 4 dersinin 1. dersidir.

“Üst Düzey İşlevler ve Currying” dersi ne kadar sürer?

Çoğu CoddyKit dersi yaklaşık 5–10 dakika sürer. Her biri kısa ve etkileşimli olduğu için sabit ilerleme yaparsın ve web ile uygulama arasında tam olarak bıraktığın yerden devam edebilirsin.

Bu Dart Academy dersinde kod yazıp çalıştırabilir miyim?

Evet. Her Dart Academy dersi yerleşik bir kod editörü içerir, bu sayede tarayıcıda gerçek kod yazıp çalıştırabilir ve anlık yapay zeka geri bildirimi alırsın — yerel kurulum gerekli değildir.

Bu kursun tüm dersleri

  1. Üst Düzey İşlevler ve Currying
  2. fold, reduce ve genişletme
  3. sync* ile Tembel Yinelenebilirler ve Üreteçler
  4. Saf İşlev Pipeline'ları Oluşturma
← Dart Academy Sayfasına Dön