0Pricing
Ruby Academy · Pelajaran

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.inspect

map untuk Teks

map dapat mengubah nilai apa pun, misalnya mengubah kata menjadi huruf kapital.

words = ["red", "green"]
puts words.map { |w| w.upcase }.inspect

Pintasan Simbol

Jika blok hanya memanggil satu metode, gunakan &:method sebagai pintasan.

words = ["a", "b", "c"]
puts words.map(&:upcase).inspect

map 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.inspect

Penyaringan 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.inspect

Menyaring 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 }.inspect

Menghapus 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? }.inspect

Merangkai 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.inspect

Penyaringan 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.inspect

Pemetaan Berlapis

flat_map memetakan lalu meratakan satu tingkat larik bertingkat.

pairs = [[1, 2], [3, 4]]
puts pairs.flat_map { |p| p }.inspect

Pembagian 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.inspect

Pemeriksaan Singkat

Periksa pemahaman Anda tentang transformasi dan penyaringan.

Rangkuman

Anda telah menguasai transformasi dan penyaringan:

  • map untuk transformasi, dengan pintasan &:method
  • select/filter dan reject
  • perangkaian, filter_map, flat_map, dan partition

Berikutnya: reduce dan each_with_object untuk agregasi.

puts [1, 2, 3, 4].select(&:even?).map { |n| n * n }.inspect

Pertanyaan 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

  1. Membuat Rentang
  2. Modul Enumerable
  3. map, select, reject
  4. reduce dan each_with_object
← Kembali ke Ruby Academy