Mengakses Elemen Array 2D
Termasuk bagian Logika dan Alur dalam perjalanan Ruby di Coddy. Pelajaran 11 dari 56.
Untuk membaca atau memperbarui satu sel dalam array 2D, rangkai dua pencarian indeks: yang pertama memilih baris, yang kedua memilih kolom.
matrix = [
[10, 20, 30],
[40, 50, 60],
[70, 80, 90]
]
puts matrix[0][0] # 10 (kiri atas)
puts matrix[1][2] # 60 (baris 1, kolom 2)
puts matrix[2][0] # 70 (kiri bawah)Memperbarui sel menggunakan sintaks yang sama di sisi kiri:
matrix[0][1] = 99
puts matrix[0].inspect # [10, 99, 30]Dua kueri bentuk yang berguna:
puts matrix.length # 3 (jumlah baris)
puts matrix[0].length # 3 (kolom pada baris 0)Indeks dimulai dari 0 dan bertambah hingga length - 1. Mengakses indeks yang melewati akhir akan menghasilkan nil, bukan menimbulkan error.
Tantangan
Pemulaarray 2D matrix diberikan. Baca tiga bilangan bulat (tiga baris): r1, c1, lalu v. Lalu:
- Cetak nilai di
matrix[r1][c1] - Atur
matrix[r1][c1] = v - Cetak seluruh
matrixyang telah diperbarui menggunakaninspect
Untuk input 1 / 2 / 99, output-nya adalah:
60
[[10, 20, 30], [40, 50, 99], [70, 80, 90]]Coba sendiri
matrix = [
[10, 20, 30],
[40, 50, 60],
[70, 80, 90]
]
r1 = gets.to_i
c1 = gets.to_i
v = gets.to_i
# TODO: cetak matrix[r1][c1], tetapkan v, lalu cetak seluruh matrix
Pelajaran ini berisi kuis singkat. Mulai pelajarannya untuk menjawab kuis dan melacak progresmu.
Semua pelajaran di Logika dan Alur
1Mendalami String
Ringkasan Method StringInterpolasi StringMenelusuri StringMemisahkan dan MenggabungkanRekap: Perangkai String4Block, Proc, dan Lambda
Apa Itu Block?do..end vs Kurung KurawalKata Kunci yieldParameter BlockProc dan LambdaRangkuman, Iterator Kustom5Andalan Enumerable
Select dan RejectMerangkai MapReduce / Injectcount, all?, any?, none?group_by dan partitionsort_by, min_by, max_byRekap: Alur Data8Pengambilan Keputusan Lanjutan
Case dengan class & regexwhen dengan Banyak NilaiOperator Ternaryif / unless SebarisUlasan, Pengklasifikasi Nilai3Array 2D
Dasar Array 2DMengakses Elemen Array 2DMenelusuri Array 2DPola Umum Array 2DRekap: Operasi Matriks6Proyek: Pengelola Perpustakaan
Ikhtisar ProyekTambahkan BukuLatihan sendiri: Compiler Ruby online