Menu
CoddyTech

Merangkai Map

Termasuk bagian Logika dan Alur dalam perjalanan Ruby di Coddy. Pelajaran 22 dari 56.

Kamu sudah mengenal map di dasar-dasar, yang membuat array baru dengan mengubah setiap elemennya. Kekuatan sebenarnya terlihat saat kamu menggabungkannya dengan select, reject, dan lainnya.

Setiap method mengembalikan array, jadi memanggil method lain pada hasilnya akan terus berlanjut:

numbers = [1, 2, 3, 4, 5]
result = numbers
  .select { |n| n.odd? }
  .map    { |n| n * 10 }
puts result.inspect   # [10, 30, 50]

Baca rantai dari atas ke bawah: mulai dengan angka, pertahankan angka ganjil, kalikan masing-masing dengan 10. Tanpa variabel sementara dan tanpa perulangan.

Singkatan &:method_name berfungsi saat blok hanya memanggil satu method:

["hi", "yo"].map { |s| s.upcase }   # ["HI", "YO"]
["hi", "yo"].map(&:upcase)         # ["HI", "YO"]  (sama)

Penulisan singkat ini ada di mana-mana dalam kode Ruby. Kenali saat kamu melihatnya.

challenge icon

Tantangan

Mudah

Baca daftar kata yang dipisahkan koma. Cetak dalam satu baris kata-kata yang lebih panjang dari 3 karakter, dalam huruf kapital, dengan pemisah , .

Buat sebagai satu rangkaian: select kata-kata yang panjang, map kata-kata itu dengan &:upcase, lalu join.

Untuk input hi,hello,yo,coddy,sup, output-nya adalah:

HELLO, CODDY

Coba sendiri

words = gets.chomp.split(",")

# TODO: rangkai select + map(&:upcase) + join
quiz iconUji dirimu

Pelajaran ini berisi kuis singkat. Mulai pelajarannya untuk menjawab kuis dan melacak progresmu.

Semua pelajaran di Logika dan Alur

Latihan sendiri: Compiler Ruby online