Fungsi Anonim
Termasuk bagian Logika dan Alur dalam perjalanan Dart di Coddy. Pelajaran 44 dari 65.
Sejauh ini, kamu telah membuat fungsi dengan nama seperti calculateTotal atau printMessage. Namun, terkadang kamu memerlukan fungsi sederhana hanya untuk satu tugas tertentu, dan memberinya nama terasa tidak perlu. Di sinilah fungsi anonim berguna.
Fungsi anonim adalah fungsi tanpa nama. Kamu mendefinisikannya tepat di tempat kamu membutuhkannya, sehingga kodemu lebih ringkas untuk operasi singkat yang hanya dilakukan sekali. Sintaksnya sederhana: kamu cukup menulis daftar parameter, lalu isi fungsi:
(parameter) {
// isi fungsi
}Fungsi anonim sangat berguna saat digunakan dengan method list. Misalnya, alih-alih membuat fungsi terpisah dengan nama untuk mencetak setiap item dalam list, kamu dapat menggunakan fungsi anonim secara langsung dengan method forEach:
List<String> fruits = ['apple', 'banana', 'orange'];
fruits.forEach((fruit) {
print(fruit);
});Pendekatan ini menjaga kodemu tetap rapi dan terfokus, terutama saat logika fungsi sederhana dan tidak akan digunakan kembali di bagian lain programmu.
Tantangan
MudahBuat program yang memproses list nama karyawan menggunakan fungsi anonim. Programmu akan menunjukkan cara menggunakan fungsi anonim dengan method forEach untuk melakukan berbagai operasi pada setiap elemen list.
- Baca input string yang berisi nama karyawan yang dipisahkan dengan koma (misalnya,
"Alice,Bob,Charlie,Diana") - Pisahkan input string menjadi list nama satu per satu menggunakan method
split() - Gunakan method
forEachdengan fungsi anonim untuk mencetak setiap nama karyawan dengan pesan sambutan - Gunakan method
forEachdengan fungsi anonim lainnya untuk mencetak setiap nama karyawan dalam huruf kapital - Gunakan method
forEachdengan fungsi anonim ketiga untuk mencetak setiap nama karyawan beserta jumlah karakternya
Misalnya, jika input-nya adalah "Alice,Bob,Charlie", programmu harus menghasilkan output:
Processing employee list: Alice,Bob,Charlie
===========================================
Welcome Messages:
Welcome to the team, Alice!
Welcome to the team, Bob!
Welcome to the team, Charlie!
===========================================
Names in Uppercase:
ALICE
BOB
CHARLIE
===========================================
Name Lengths:
Alice has 5 characters
Bob has 3 characters
Charlie has 7 charactersJika input-nya adalah "John,Sarah", programmu harus menghasilkan output:
Processing employee list: John,Sarah
===========================================
Welcome Messages:
Welcome to the team, John!
Welcome to the team, Sarah!
===========================================
Names in Uppercase:
JOHN
SARAH
===========================================
Name Lengths:
John has 4 characters
Sarah has 5 charactersProgrammu harus menggunakan tiga pemanggilan method forEach yang terpisah, masing-masing dengan fungsi anonimnya sendiri. Fungsi anonim tersebut harus didefinisikan secara inline tanpa diberi nama. Setiap fungsi anonim harus menerima satu parameter yang mewakili nama karyawan saat ini dan melakukan operasi yang ditentukan. Gunakan interpolasi string untuk memformat pesan output persis seperti yang ditunjukkan di atas.
Coba sendiri
import 'dart:io';
void main() {
// Baca string input yang berisi nama karyawan
String? input = stdin.readLineSync();
// Pisahkan input menjadi list nama
List<String> employeeNames = input!.split(',');
// Cetak pesan awal pemrosesan
print('Processing employee list: $input');
print('===========================================');
// TODO: Tulis kodemu di bawah ini
// Gunakan forEach dengan fungsi anonim untuk:
// 1. Cetak pesan sambutan
// 2. Cetak nama dalam huruf kapital
// 3. Cetak panjang setiap nama
}Pelajaran ini berisi kuis singkat. Mulai pelajarannya untuk menjawab kuis dan melacak progresmu.
Semua pelajaran di Logika dan Alur
1Manipulasi list Tingkat Lanjut
Properti list: first dan lastStatus list: isEmpty dan isNotEmpMembalikkan listMenambahkan ke list: insertMenghapus dari list: removeWhereMencari dalam list: indexOfMengurutkan listMengacak listRekap: Pengatur list4Manipulasi Map Lanjutan
Melakukan perulangan pada MapMemeriksa kunci dan nilaiProperti Map: kunci dan nilaiPenambahan Bersyarat: putIfAbsentMenghapus Entri dari MapMap BersarangRingkasan: Pembaruan Inventaris2Operasi Fungsional pada list
Mengubah dengan 'map'Menyaring dengan 'where'Menggunakan '.toList()'Memeriksa Kondisi dengan 'any'Kondisi dengan 'every'Menemukan dengan 'firstWhere'Ulasan: Penyaringan Data5Proyek: Perhitungan Keranjang Belanja
Menyiapkan ProyekMenambahkan Barang ke Keranjang3set
Apa itu set?Membuat setMenambahkan dan menghapus elemen dari setMemeriksa elemen dalam setMengubah list menjadi setGabungan setIrisan setSelisih setRangkuman: Daftar tamu unikLatihan sendiri: Compiler Dart online