Menu
Coddy logo textTech

2D Diziler Üzerinde Yineleme

Coddy'nin Ruby Journey'sinin Mantık ve Akış bölümünün bir parçası — ders 12 / 56.

2 boyutlu bir dizideki her hücreyi ziyaret etmek için iki yinelemeyi iç içe yerleştirirsiniz. Dış döngü satırlar arasında gezinir; iç döngü ise o satırın sütunları arasında gezinir.

En deyimsel Ruby deseni each metodunu iki kez kullanır:

grid = [
  [1, 2, 3],
  [4, 5, 6]
]

grid.each do |row|
  row.each do |cell|
    puts cell
  end
end
# 1, 2, 3, 4, 5, 6  (her biri kendi satırında)

Eğer örneğin her bir hücreyi etiketlemek için satır ve sütun indekslerine de ihtiyacınız varsa, her iki seviyede de each_with_index kullanın:

grid.each_with_index do |row, r|
  row.each_with_index do |cell, c|
    puts "(#{r},#{c}) = #{cell}"
  end
end

Bu stil, dizinleri elle takip etmekten daha kısa ve güvenlidir; bir satırın sonuna geçme riski yoktur.

challenge icon

Görev

Kolay

grid adlı 2D dizi verilmiştir (3 satır × 3 sütun tam sayı).

Her bir satır için, değeri o satırın ortalamasından kesinlikle büyük olan her hücreyi bulun. Bu tür her bir hücreyi şu formatta kendi satırına yazdırın:

(r,c) = value

İç içe each_with_index kullanın. Ortalamayı dış döngü içinde hesaplayın, böylece her satırın eşiği bağımsız olur.

Varsayılan ızgara için, kendi satır ortalamasını geçen hücreler şunlardır:

(0,1) = 8
(1,2) = 9
(2,0) = 6
(2,1) = 7

Kopya kağıdı

2 boyutlu bir dizideki her hücre üzerinde gezinmek için iki each çağrısını iç içe yerleştirin:

grid.each do |row|
  row.each do |cell|
    puts cell
  end
end

Satır ve sütun dizinlerine de erişmek için her iki seviyede de each_with_index kullanın:

grid.each_with_index do |row, r|
  row.each_with_index do |cell, c|
    puts "(#{r},#{c}) = #{cell}"
  end
end

Kendin dene

grid = [
  [1, 8, 3],
  [4, 5, 9],
  [6, 7, 2]
]

# YAPILACAK: iç içe each_with_index, satır ortalamasından büyük olan hücreleri yazdır
quiz iconKendini test et

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