0Pricing
Dart Academy · Pelajaran

Fungsi Orde Tinggi dan Currying

Mengirimkan, mengembalikan, dan menerapkan fungsi secara parsial

Fungsi Orde Tinggi dan Currying adalah pelajaran Dart Academy gratis di CoddyKit. Ini adalah pelajaran 1 dari 4. Kamu bisa membaca pelajaran lengkapnya di bawah secara gratis — lalu praktikkan langsung di browser dengan editor kode bawaan dan tutor AI 24/7. Ini adalah bagian dari jalur belajar Dart Academy, dan progresmu tersinkronisasi di web dan aplikasi CoddyKit. Kursus Dart Academy mencakup 4 pelajaran total.

Fungsi Adalah Nilai

Dalam Dart, fungsi hanyalah nilai yang dapat Anda simpan dalam variabel. Gagasan sederhana ini membuka seluruh dunia pola fungsional. 🎯

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

Arti Fungsi Tingkat Tinggi

Fungsi tingkat tinggi adalah fungsi yang menerima fungsi sebagai argumen atau mengembalikan fungsi. Anda sudah menggunakannya bersama metode daftar.

Meneruskan Fungsi

Saat Anda meneruskan perilaku sebagai argumen, pemanggillah yang menentukan apa yang terjadi. Di sini, terapkan menjalankan fungsi apa pun yang diterimanya.

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

Sintaksis Tipe Fungsi

Tipe int Function(int) berarti fungsi yang menerima sebuah int dan mengembalikan sebuah int. Tipe membuat maksud Anda menjadi sangat jelas.

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

Mengembalikan Fungsi

Fungsi tingkat tinggi juga dapat mengembalikan fungsi. Fungsi yang dikembalikan mengingat nilai-nilai di sekitarnya saat dibuat.

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

Menggunakan Fungsi yang Dikembalikan

Panggil pembuatnya sekali untuk membuat fungsi khusus, lalu gunakan kembali fungsi tersebut. Setiap hasil adalah alat kecil yang telah dikonfigurasi sendiri.

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

Kenali Penerapan Bertahap

Penerapan bertahap mengubah fungsi dengan banyak argumen menjadi rangkaian fungsi dengan satu argumen. Anda memberikan satu nilai setiap kali.

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

Penerapan Sebagian

Tetapkan argumen pertama sekarang dan sisanya nanti. Inilah penerapan sebagian, yang menghasilkan pembantu yang dapat digunakan kembali dan sudah terisi.

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

Mengapa Menggunakan Penerapan Bertahap

Penerapan bertahap memungkinkan Anda membuat fungsi khusus dari fungsi umum tanpa menulis ulang logika. Teknik ini sangat berguna saat Anda menyusun alur kecil.

Tipe Parameter Fungsi

Anda dapat memberi nama pada tipe fungsi yang rumit dengan alias tipe agar tanda tangan fungsi tetap mudah dibaca di seluruh kode.

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

Jalan Pintas Referensi Langsung

Alih-alih membungkus metode dalam lambda, teruskan namanya secara langsung. Referensi langsung ini membuat pemanggilan tetap bersih dan rapi.

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

Cek Cepat

Mari periksa pemahaman Anda tentang fungsi tingkat tinggi.

Ringkasan

Fungsi adalah nilai, jadi Anda dapat meneruskan dan mengembalikannya. Penerapan bertahap dan penerapan sebagian mengubah fungsi umum menjadi alat khusus. Kerja bagus! 🚀

Pertanyaan yang Sering Diajukan

Apakah pelajaran “Fungsi Orde Tinggi dan Currying” gratis?

Ya — teks lengkap “Fungsi Orde Tinggi dan Currying” gratis dibaca di sini di web. Untuk praktiknya secara interaktif (editor kode bawaan dan tutor AI 24/7) dan buka sisa kursus Dart Academy, upgrade ke CoddyKit PRO. Kursus Dart Academy mencakup 4 pelajaran total.

Apa yang akan aku pelajari di “Fungsi Orde Tinggi dan Currying”?

Mengirimkan, mengembalikan, dan menerapkan fungsi secara parsial Kamu berlatih Dart Academy dengan kode praktik yang langsung kamu jalankan di browser, dan tutor AI 24/7 menjawab pertanyaanmu saat kamu mengerjakan pelajaran ini.

Apakah aku perlu pengalaman untuk memulai Dart Academy?

Tidak diperlukan pengalaman sebelumnya. Dart Academy di CoddyKit dirancang untuk pemula hingga pelajar tingkat lanjut, jadi kamu bisa memulai di sini atau dari awal dan belajar sesuai kecepatan kamu sendiri. Ini adalah pelajaran 1 dari 4.

Berapa lama pelajaran “Fungsi Orde Tinggi dan Currying” memakan waktu?

Sebagian besar pelajaran CoddyKit memakan waktu sekitar 5–10 menit. Setiap pelajaran ringkas dan interaktif, jadi kamu membuat kemajuan stabil dan melanjutkan dari tempat kamu tinggalkan di web dan aplikasi.

Bisakah aku menulis dan menjalankan kode dalam pelajaran Dart Academy ini?

Ya. Setiap pelajaran Dart Academy menyertakan editor kode bawaan, jadi kamu menulis dan menjalankan kode nyata langsung di browser dan mendapatkan umpan balik AI instan — tidak diperlukan penyiapan lokal.

Semua pelajaran dalam kursus ini

  1. Fungsi Orde Tinggi dan Currying
  2. fold, reduce, dan expand
  3. Iterable Malas dan Generator dengan sync*
  4. Menyusun Pipeline Fungsi Murni
← Kembali ke Dart Academy