Dasar Array 2D
Termasuk bagian Logika dan Alur dalam perjalanan Ruby di Coddy. Pelajaran 10 dari 56.
Array 2D adalah array yang elemennya berupa array. Setiap array bagian dalam mewakili satu baris dalam kisi.
cinema = [
[true, true], # Baris 0
[false, true] # Baris 1
]Ini merepresentasikan kisi 2×2, dua baris, masing-masing dengan dua kolom.
Untuk membuat kisi bilangan bulat 3×4:
matrix = [
[ 1, 2, 3, 4],
[ 5, 6, 7, 8],
[ 9, 10, 11, 12]
]Kamu bisa membuat grid yang terisi dengan nilai default menggunakan Array.new dua kali, sekali untuk baris dan sekali untuk kolom:
grid = Array.new(3) { Array.new(4, 0) }
# 3 baris, 4 kolom, semuanya nolBentuk blok ({ Array.new(4, 0) }) penting karena membuat array bagian dalam yang baru untuk setiap baris. Tanpanya, setiap baris akan menunjuk ke array yang sama.
Tantangan
MudahBaca dua bilangan bulat (dua baris input): rows dan cols. Buat array 2D dengan ukuran tersebut, dengan setiap sel bernilai row * cols + col + 1 (jadi baris pertama dimulai dari 1, dan grid terisi menurut urutan baca).
Cetak grid menggunakan inspect pada array terluar, dalam satu baris.
Untuk input 2 lalu 3, outputnya adalah:
[[1, 2, 3], [4, 5, 6]]Coba sendiri
rows = gets.to_i
cols = gets.to_i
# TODO: buat grid lalu cetak dengan inspect
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