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, 40Ini 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, bIndeks 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, yellowJika 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, 3Pilih method 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 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 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
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 untuk mengambil bagian 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