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}"
endIni menghasilkan:
0: apple
1: banana
2: cherryPerhatikan 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}"
endDengan 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.
Tantangan
MudahBaca 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: dateJika input-nya red,green,blue, output-nya harus seperti ini:
Item 1: red
Item 2: green
Item 3: blueJika 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: fridayJika input-nya solo, output-nya harus seperti ini:
Item 1: soloCoba 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"Pelajaran ini berisi kuis singkat. Mulai pelajarannya untuk menjawab kuis dan melacak progresmu.
Semua pelajaran di Dasar-Dasar
4Operator Bagian 2
Operator Logika Bagian 1Operator Logika Bagian 2Ringkasan: Logika SederhanaOperator Logika Bagian 3Operator Logika Bagian 47Kalkulator Pembagian Tagihan
Pesan Selamat DatangMengambil input dari Pengguna10FizzBuzz dengan Variasi
Gambaran Umum PermainanMetode FizzBuzz2Variabel dan Tipe Data
Angka dan VariabelTipe Data stringTipe Data booleanTipe Data SymbolMemeriksa Tipe DataKonvensi PenamaanRangkuman: Membuat Variabel5Pengambilan Keputusan
Pernyataan IfIf - ElseRekap: Kalkulator SederhanaIf - Else BersarangPernyataan Unless8Perulangan
For Loop dengan RentangWhile LoopBreakNextRangkuman: FaktorialTimes LoopUntil LoopPerulangan BersarangRangkuman: Input Dinamis3Operator Bagian 1
Operator AritmetikaOperator ModuloPintasan AritmetikaRingkasan: Matematika SederhanaOperator Perbandingan6Dasar Input dan Output
Output dengan putsOutput dengan print dan pOutput dengan VariabelInput dengan getsMethod chompKonversi TipeRangkuman: Kalkulator UsiaRangkuman: Benar atau Salah9method
Mendefinisikan methodParameter methodNilai KembalianRangkuman: Sigma methodRangkuman: Validation methodNilai Default Parameter12Melakukan Perulangan pada Koleksi
Iterator EachEach dengan IndeksMelakukan Perulangan pada StringMap dan CollectLatihan sendiri: Compiler Ruby online