Menu
CoddyTech

Pemotongan array dengan Indeks

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

Ruby menawarkan cara lain untuk mengambil sebagian array menggunakan indeks awal dan panjang. Alih-alih menentukan rentang, kamu memberikan dua angka: posisi untuk mulai dan jumlah elemen yang akan diambil.

Sintaks menggunakan koma untuk memisahkan indeks awal dari jumlah elemen:

numbers = [10, 20, 30, 40, 50]
slice = numbers[1, 3]

puts slice  # Menampilkan 20, 30, dan 40, masing-masing pada baris tersendiri

Ini mengekstrak 3 elemen mulai dari indeks 1. Angka pertama adalah posisi awal, dan angka kedua adalah jumlah elemen yang kamu inginkan.

Pendekatan ini sangat berguna saat kamu tahu persis berapa banyak elemen yang kamu perlukan:

letters = ["a", "b", "c", "d", "e"]
first_two = letters[0, 2]

puts first_two  # Menampilkan a dan b, masing-masing pada baris terpisah

Indeks negatif juga berfungsi di sini. Kamu bisa mulai dari akhir array:

colors = ["red", "green", "blue", "yellow"]
last_two = colors[-2, 2]

puts last_two  # Menampilkan blue dan yellow, masing-masing pada baris terpisah

Jika kamu meminta lebih banyak elemen daripada yang tersedia, Ruby hanya mengembalikan elemen yang ada tanpa menimbulkan error:

nums = [1, 2, 3]
slice = nums[1, 10]

puts slice  # Menampilkan 2 dan 3, masing-masing pada baris tersendiri

Pilih metode ini saat kamu mengetahui jumlah elemen yang dibutuhkan, dan gunakan rentang saat kamu mengetahui posisi yang tepat.

challenge icon

Tantangan

Mudah

Baca tiga input:

  1. Satu baris berisi bilangan bulat yang dipisahkan dengan koma (misalnya, 5,10,15,20,25,30,35,40)
  2. Indeks awal (bilangan bulat)
  3. Jumlah elemen yang akan diambil (bilangan bulat)

Pisahkan input pertama menjadi array bilangan bulat. Gunakan indeks awal dan jumlah untuk mengambil bagian dari array dengan sintaks indeks dan panjang, lalu cetak setiap elemen dari bagian tersebut pada barisnya sendiri.

Misalnya, jika inputnya adalah 5,10,15,20,25,30,35,40, 2, dan 4, outputnya adalah:

15
20
25
30

Jika inputnya adalah 100,200,300,400,500, 0, dan 2, outputnya adalah:

100
200

Jika inputnya adalah a,b,c,d,e,f,g, -3, dan 2, outputnya adalah:

e
f

Jika inputnya adalah 10,20,30, 1, dan 10, outputnya adalah:

20
30

Coba sendiri

# Baca input
input_line = gets.chomp
start_index = gets.chomp.to_i
count = gets.chomp.to_i

# Pisahkan input menjadi array
arr = input_line.split(',')

# TODO: Tulis kodemu di bawah ini untuk mengambil bagian dari array menggunakan sintaks indeks dan panjang
# dan cetak setiap elemen pada baris tersendiri
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