2B Dizi Temelleri
Coddy'nin Ruby Journey'sinin Mantık ve Akış bölümünün bir parçası. Ders 10 / 56.
2D (iki boyutlu) dizi, elemanları kendileri de dizi olan bir dizidir. Her bir iç dizi, bir ızgaradaki satırı temsil eder.
cinema = [
[true, true], # Satır 0
[false, true] # Satır 1
]Bu, her biri iki sütunlu iki satırdan oluşan 2×2'lik bir ızgarayı temsil eder.
Tam sayılardan oluşan 3×4'lük bir ızgara oluşturmak için:
matrix = [
[ 1, 2, 3, 4],
[ 5, 6, 7, 8],
[ 9, 10, 11, 12]
]Array.new yöntemini biri satırlar, diğeri sütunlar için olmak üzere iki kez kullanarak varsayılan bir değerle doldurulmuş bir ızgara oluşturabilirsiniz:
grid = Array.new(3) { Array.new(4, 0) }
# 3 satır, 4 sütun, tamamı sıfırBlok formu ({ Array.new(4, 0) }) önemlidir, her satır için yeni bir iç dizi oluşturur. Bu olmadan, her satır aynı diziyi işaret ederdi.
Görev
Kolayİki tam sayı okuyun (iki satır girdi): rows ve cols. Her hücrenin row * cols + col + 1 değerine eşit olduğu bu boyutta bir 2D dizi oluşturun (böylece ilk satır 1'den başlar ve ızgara okuma sırasına göre dolar).
Dış dizi üzerinde inspect kullanarak ızgarayı tek bir satırda yazdırın.
2 ve ardından 3 girdisi için çıktı şöyledir:
[[1, 2, 3], [4, 5, 6]]Kendin dene
rows = gets.to_i
cols = gets.to_i
# YAPILACAK: ızgarayı oluşturun ve inspect ile yazdırın
Bu ders kısa bir quiz içerir. Soruları yanıtlamak ve ilerlemeni kaydetmek için derse başla.
Mantık ve Akış bölümündeki tüm dersler
1Dizeler Detaylı İnceleme
Dize Metotlarına Genel BakışDize EnterpolasyonuDizeler Üzerinde YinelemeBölme ve BirleştirmeTekrar - Dize Dokuyucu4Bloklar, Proc'lar ve Lambda'lar
Blok Nedir?do..end ve Süslü Parantezleryield Anahtar SözcüğüBlok ParametreleriProc'lar ve Lambda'larÖzet - Özel Yineleyici7Hash'ler 2. Bölüm
Varsayılanlarla Hash.newHash'ler Üzerinde Yinelemeİç İçe Hash'lerBirleştirme ve DönüştürmeTekrar - Frekans Sayacı10Proje - Öğrenci Kayıtları
Projeye Genel BakışÖğrenci Ekle5Enumerable Gücü
Seçme ve ReddetmeMap ZincirlemeReduce / Injectcount, all?, any?, none?group_by ve partitionsort_by, min_by, max_byTekrar - Veri Hattı32B Diziler
2B Dizi Temelleri2B Elemanlara Erişim2B Diziler Üzerinde YinelemeYaygın 2B ÖrüntülerTekrar - Matris İşlemleri6Proje - Kütüphane Yöneticisi
Projeye Genel BakışKitap EkleKendi başına pratik yap: Online Ruby derleyicisi