Menu
CoddyTech

Iterator Each

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

Ruby menyediakan cara yang lebih elegan untuk melakukan perulangan melalui array daripada menggunakan for atau while. Iterator each adalah cara yang lebih disukai di Ruby untuk memproses setiap elemen dalam koleksi.

Berikut sintaks dasarnya:

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

fruits.each do |fruit|
  puts fruit
end

Ini menampilkan setiap buah pada baris terpisah. Variabel di antara garis vertikal (|fruit|) disebut variabel blok. Variabel ini menyimpan sementara setiap elemen saat iterator menelusuri array.

Untuk blok satu baris, kamu dapat menggunakan kurung kurawal sebagai pengganti do...end:

numbers = [1, 2, 3]
numbers.each { |n| puts n * 2 }

method each sangat berguna karena kamu bisa melakukan operasi apa pun pada setiap elemen. Berikut contoh yang menghitung total berjalan:

prices = [10, 25, 15]
total = 0

prices.each do |price|
  total += price
end

puts total  # Output: 50

Tidak seperti perulangan for, variabel blok dalam each tetap berada di dalam blok, sehingga kodemu lebih rapi dan tidak mudah mengalami perilaku yang tidak terduga.

challenge icon

Tantangan

Mudah

Baca satu baris input yang berisi bilangan bulat yang dipisahkan dengan koma (misalnya, 4,7,2,9,5).

Pisahkan input menjadi array berisi bilangan bulat, lalu gunakan iterator each untuk:

  1. Cetak setiap bilangan dikalikan 3 pada barisnya sendiri
  2. Hitung jumlah semua bilangan dan cetak setelah perulangan

Gunakan variabel yang diinisialisasi dengan 0 sebelum perulangan untuk mengakumulasi jumlah saat kamu menelusuri array.

Misalnya, jika input-nya 4,7,2,9,5, output-nya harus:

12
21
6
27
15
Sum: 27

Jika input-nya 10,20,30, output-nya harus:

30
60
90
Sum: 60

Jika input-nya 1,2,3,4, output-nya harus:

3
6
9
12
Sum: 10

Jika input-nya 5, output-nya harus:

15
Sum: 5

Coba sendiri

# Baca bilangan bulat yang dipisahkan koma
input = gets.chomp

# Pisahkan input menjadi array berisi bilangan bulat
numbers = input.split(",").map(&:to_i)

# Inisialisasi variabel sum
sum = 0

# TODO: Tulis kodemu di bawah ini
# Gunakan iterator each untuk:
# 1. Cetak setiap bilangan yang dikalikan 3
# 2. Tambahkan setiap bilangan ke variabel sum

# Cetak nilai akhir sum
puts "Sum: #{sum}"
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