Menu
CoddyTech

Each dengan Indeks

Termasuk bagian Dasar-Dasar dalam perjalanan Ruby di Coddy. Pelajaran 66 dari 88.

Terkadang, kamu perlu mengetahui bukan hanya elemen yang sedang kamu gunakan, tetapi juga posisinya dalam array. each_with_index method Ruby memberimu elemen dan indeksnya dalam satu perulangan.

Begini cara kerjanya:

fruits = ["apple", "banana", "cherry"]

fruits.each_with_index do |fruit, index|
  puts "#{index}: #{fruit}"
end

Ini menghasilkan:

0: apple
1: banana
2: cherry

Perhatikan bahwa blok kini menggunakan dua variabel di antara tanda pipa: elemen muncul lebih dulu, diikuti indeks. Indeks dimulai dari 0, sama seperti saat mengakses elemen array secara langsung.

Ini sangat berguna saat kamu perlu menampilkan daftar bernomor atau melacak posisi:

tasks = ["Buy groceries", "Clean room", "Call mom"]

tasks.each_with_index do |task, i|
  puts "Task #{i + 1}: #{task}"
end

Dengan menambahkan 1 ke indeks, kita membuat daftar bernomor yang lebih mudah dipahami manusia, dimulai dari 1, bukan 0. Method each_with_index menghilangkan kebutuhan untuk melacak variabel penghitung secara manual, sehingga kodemu lebih rapi dan lebih kecil kemungkinannya mengalami error.

challenge icon

Tantangan

Mudah

Baca satu baris input yang berisi kata-kata dipisahkan koma (misalnya, apple,banana,cherry,date).

Pisahkan input menjadi array string, lalu gunakan each_with_index untuk mencetak setiap item sebagai list bernomor yang dimulai dari 1 (bukan 0).

Setiap baris harus mengikuti format ini: Item 1: apple

Misalnya, jika input-nya apple,banana,cherry,date, output-nya harus seperti ini:

Item 1: apple
Item 2: banana
Item 3: cherry
Item 4: date

Jika input-nya red,green,blue, output-nya harus seperti ini:

Item 1: red
Item 2: green
Item 3: blue

Jika input-nya monday,tuesday,wednesday,thursday,friday, output-nya harus seperti ini:

Item 1: monday
Item 2: tuesday
Item 3: wednesday
Item 4: thursday
Item 5: friday

Jika input-nya solo, output-nya harus seperti ini:

Item 1: solo

Coba sendiri

# Baca input yang dipisahkan dengan koma
input = gets.chomp

# Pisahkan input menjadi array
items = input.split(",")

# TODO: Gunakan each_with_index untuk menampilkan setiap item sebagai list bernomor
# Ingat: indeks dimulai dari 0, tetapi kamu perlu menampilkan nomor mulai dari 1
# Format: "Item 1: apple"
quiz iconUji dirimu

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

Semua pelajaran di Dasar-Dasar

Latihan sendiri: Compiler Ruby online