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 irisan array menggunakan indeks awal dan panjang. Alih-alih menentukan rentang, kamu memberikan dua angka: di mana harus mulai dan berapa banyak 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  # Output: 20, 30, 40

Ini mengambil 3 elemen mulai dari indeks 1. Angka pertama adalah posisi awal, dan angka kedua menunjukkan 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  # Output: a, b

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  # Output: blue, yellow

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

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

puts slice  # Output: 2, 3

Pilih method 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 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 irisan array dengan sintaks indeks dan panjang, lalu cetak setiap elemen dari bagian yang diambil 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 untuk mengambil bagian 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