Mendefinisikan Closure Sederhana
Termasuk bagian Logika dan Alur dalam perjalanan Rust di Coddy. Pelajaran 60 dari 66.
Sekarang setelah kamu memahami apa itu closure, mari pelajari cara mendefinisikan dan menggunakannya dalam kodemu. Cara paling sederhana untuk membuat closure adalah dengan menetapkannya ke sebuah variabel, sehingga kamu dapat memanggilnya nanti.
Berikut cara mendefinisikan closure dasar yang tidak menerima parameter:
let my_closure = || {
println!("Hello from the closure!");
};Perhatikan tanda garis vertikal kosong ||, ini menunjukkan bahwa closure tidak menerima argumen. Kurung kurawal berisi kode yang dijalankan saat kamu memanggil closure.
Untuk memanggil closure-mu, gunakan seperti fungsi dengan menambahkan tanda kurung setelah nama variabel:
let my_closure = || {
println!("Hello from the closure!");
};
my_closure(); // Ini memanggil closure dan mencetak pesanTantangan
MudahKamu akan menerima satu input yang berisi pesan. Buat closure tanpa parameter yang mencetak pesan ini. Simpan closure dalam variabel, lalu panggil untuk menampilkan pesan.
Persyaratan:
- Baca pesan input dan hapus spasi di awal dan akhir
- Buat closure menggunakan sintaks
||yang mencetak pesan - Simpan closure dalam variabel
- Panggil closure untuk menjalankannya
Input:
- Satu baris yang berisi pesan (misalnya,
Welcome to Rust!)
Output:
- Pesan yang dicetak oleh closure
Coba sendiri
use std::io;
fn main() {
// Baca input
let mut message = String::new();
io::stdin().read_line(&mut message).expect("Failed to read line");
let message = message.trim();
// TODO: Buat closure yang mencetak pesan, lalu simpan dalam variabel
// TODO: Panggil closure untuk mencetak pesan
}Pelajaran ini berisi kuis singkat. Mulai pelajarannya untuk menjawab kuis dan melacak progresmu.
Semua pelajaran di Logika dan Alur
1Alur Kontrol Lanjutan
Ekspresi 'match'Mencocokkan Beberapa NilaiMencocokkan RentangEkspresi 'if let'Perulangan sebagai EkspresiRangkuman, Parser Perintah Sederhana4Mengelompokkan Data dengan Struct
Apa Itu Struct?Ringkasan StructMengakses Field StructStruct yang Dapat DiubahStruct sebagai Parameter FungsiStruct TupleRangkuman: Buat Struct Buku7Menangani error dengan 'Result'
Apa itu 'Result'?Menggunakan 'match' dengan 'Result'is_ok() dan is_err()Cara singkat: unwrap dan expectOperator Tanda Tanya '?'Mengurai string menjadi angkaRangkuman: Fungsi Pembagian Aman10Closure dan Fungsi Anonim
Apa Itu Closure?Mendefinisikan Closure SederhanaClosure dengan ParameterMenangkap LingkunganUlasan: Closure Penjumlah Sederhana2Pengantar Vektor
Apa Itu Vektor?Membuat VektorMenambahkan Elemen dengan pushMengakses Elemen VektorMelakukan Iterasi pada VektorIterasi MutableMenghapus ElemenRangkuman: Pelacak Skor Dasar5Pasangan Kunci-Nilai dengan Hash Map
Apa Itu Hash Map?Membuat Hash MapMenyisipkan Pasangan Kunci-NilaiMengakses NilaiMenelusuri Hash MapMemperbarui NilaiMenghapus PasanganRangkuman: Penghitung Kata8Proyek: Inventaris Barang Sederhana
Menyiapkan ProyekMenambahkan BarangMemeriksa StokMenjual BarangMenyatukan Semuanya3Daftar Tugas Baris Perintah
Penyiapan ProyekMenambahkan TugasMelihat Semua TugasMenghapus TugasKode AkhirLatihan sendiri: Compiler Rust online