map, select, reject
Transformasikan dan saring.
map, select, reject adalah pelajaran Ruby Academy gratis di CoddyKit. Ini adalah pelajaran 3 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 Ruby Academy, dan progresmu tersinkronisasi di web dan aplikasi CoddyKit. Kursus Ruby Academy mencakup 4 pelajaran total.
Transformasi dengan map
map membuat larik baru dengan menjalankan blok pada setiap elemen. Larik asli tidak berubah.
nums = [1, 2, 3]
doubled = nums.map { |n| n * 2 }
puts doubled.inspect
puts nums.inspectmap untuk Teks
map dapat mengubah nilai apa pun, misalnya mengubah kata menjadi huruf kapital.
words = ["red", "green"]
puts words.map { |w| w.upcase }.inspectPintasan Simbol
Jika blok hanya memanggil satu metode, gunakan &:method sebagai pintasan.
words = ["a", "b", "c"]
puts words.map(&:upcase).inspectmap dengan Indeks
Rangkaikan with_index jika Anda juga memerlukan posisi.
letters = %w[a b c]
result = letters.map.with_index { |l, i| "#{i}:#{l}" }
puts result.inspectPenyaringan dengan select
select (alias filter) hanya mempertahankan elemen yang bloknya bernilai benar.
nums = [1, 2, 3, 4, 5, 6]
evens = nums.select { |n| n.even? }
puts evens.inspectMenyaring Teks
select dapat digunakan pada kondisi apa pun, misalnya untuk mempertahankan kata-kata yang panjang.
words = ["hi", "hello", "hey", "welcome"]
puts words.select { |w| w.length > 3 }.inspectMenghapus dengan reject
reject adalah kebalikan dari select. Metode ini membuang elemen yang bloknya bernilai benar.
nums = [1, 2, 3, 4]
puts nums.reject { |n| n.even? }.inspectMerangkai map dan select
Karena setiap metode mengembalikan larik baru, Anda dapat merangkai metode menjadi sebuah alur.
nums = [1, 2, 3, 4, 5]
result = nums.select { |n| n.odd? }.map { |n| n * 10 }
puts result.inspectPenyaringan dan Pemetaan
filter_map menggabungkan penyaringan dan pemetaan dalam satu lintasan: metode ini mempertahankan hasil blok yang bukan false.
nums = [1, 2, 3, 4]
result = nums.filter_map { |n| n * 2 if n.even? }
puts result.inspectPemetaan Berlapis
flat_map memetakan lalu meratakan satu tingkat larik bertingkat.
pairs = [[1, 2], [3, 4]]
puts pairs.flat_map { |p| p }.inspectPembagian Koleksi
partition membagi koleksi menjadi dua larik: elemen yang cocok dan yang tidak cocok.
nums = [1, 2, 3, 4, 5]
evens, odds = nums.partition { |n| n.even? }
puts evens.inspect
puts odds.inspectPemeriksaan Singkat
Periksa pemahaman Anda tentang transformasi dan penyaringan.
Rangkuman
Anda telah menguasai transformasi dan penyaringan:
mapuntuk transformasi, dengan pintasan&:methodselect/filterdanreject- perangkaian,
filter_map,flat_map, danpartition
Berikutnya: reduce dan each_with_object untuk agregasi.
puts [1, 2, 3, 4].select(&:even?).map { |n| n * n }.inspectPertanyaan yang Sering Diajukan
Apakah pelajaran “map, select, reject” gratis?
Ya — teks lengkap “map, select, reject” gratis dibaca di sini di web. Untuk praktiknya secara interaktif (editor kode bawaan dan tutor AI 24/7) dan buka sisa kursus Ruby Academy, upgrade ke CoddyKit PRO. Kursus Ruby Academy mencakup 4 pelajaran total.
Apa yang akan aku pelajari di “map, select, reject”?
Transformasikan dan saring. Kamu berlatih Ruby 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 Ruby Academy?
Tidak diperlukan pengalaman sebelumnya. Ruby 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 3 dari 4.
Berapa lama pelajaran “map, select, reject” 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 Ruby Academy ini?
Ya. Setiap pelajaran Ruby 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
- Membuat Rentang
- Modul Enumerable
- map, select, reject
- reduce dan each_with_object