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 tersendiriIni 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 terpisahIndeks 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 terpisahJika 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 tersendiriPilih metode ini saat kamu mengetahui jumlah elemen yang dibutuhkan, dan gunakan rentang saat kamu mengetahui posisi yang tepat.
Tantangan
MudahBaca tiga input:
- Satu baris berisi bilangan bulat yang dipisahkan dengan koma (misalnya,
5,10,15,20,25,30,35,40) - Indeks awal (bilangan bulat)
- 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
30Jika inputnya adalah 100,200,300,400,500, 0, dan 2, outputnya adalah:
100
200Jika inputnya adalah a,b,c,d,e,f,g, -3, dan 2, outputnya adalah:
e
fJika inputnya adalah 10,20,30, 1, dan 10, outputnya adalah:
20
30Coba 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 tersendiriPelajaran 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 FizzBuzz13array Tingkat Lanjut
Pemotongan array dengan RentangPemotongan array dengan IndeksOperator arraymethod include?2Variabel 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