İç İçe Döngüler
Coddy'nin Ruby Journey'sinin Temeller bölümünün bir parçası — ders 46 / 88.
İç içe bir döngü oluşturmak için bir döngüyü başka bir döngünün içine yerleştirebilirsiniz. İç döngü, dış döngünün her bir yinelemesi için tamamen çalışır; bu da bu deseni ızgaralar, tablolar veya kombinasyonlarla çalışmak için kullanışlı hale getirir.
for i in 1..2
for j in 1..3
puts "i=#{i}, j=#{j}"
end
endBu, altı satır çıktı verir. i'nin her bir değeri için, iç döngü j'nin tüm değerleri üzerinden geçer.
İlk olarak i 1 iken j 1, 2, 3 değerlerini alır. Sonra i 2 olur ve j tekrar 1, 2, 3 değerlerini alır.
Pratik bir örnek, basit bir çarpım deseni oluşturmaktır:
for row in 1..3
for col in 1..3
print "#{row * col} "
end
puts ""
endBu, 3x3'lük bir ürün ızgarası yazdırır. print değerleri aynı satırda tutar ve puts "" her satır tamamlandıktan sonra yeni bir satıra geçer. Bir for döngüsü içindeki times döngüsü gibi farklı döngü türlerini de karıştırabilirsiniz.
Görev
KolayGirdiden iki tam sayı okuyun:
rows- satır sayısıcols- sütun sayısı
Verilen boyutlarda yıldızlardan (*) oluşan bir dikdörtgen yazdırmak için iç içe döngüler kullanın. Her satır, aralarında boşluk bırakılmış cols kadar yıldız içermeli ve her satır kendi satırında olmalıdır.
Bir satır içindeki yıldızlar için print, her satırdan sonra bir alt satıra geçmek için puts kullanın.
Örneğin, girdiler 3 ve 4 ise, çıktı şu şekilde olmalıdır:
* * * *
* * * *
* * * *Girdiler 2 ve 5 ise, çıktı şu şekilde olmalıdır:
* * * * *
* * * * *Kopya kağıdı
İç içe döngüler, bir döngüyü diğerinin içine yerleştirmenize olanak tanır. İçteki döngü, dıştaki döngünün her bir yinelemesi için tamamen çalışır.
for i in 1..2
for j in 1..3
puts "i=#{i}, j=#{j}"
end
endBu, toplamda altı satır çıktı verir. i=1 için, j 1, 2, 3 değerleri üzerinden geçer. Ardından i=2 için, j tekrar 1, 2, 3 değerleri üzerinden geçer.
Çıktıyı aynı satırda tutmak için print ve yeni bir satıra geçmek için puts "" kullanın:
for row in 1..3
for col in 1..3
print "#{row * col} "
end
puts ""
endBir for döngüsü içinde times döngüsü kullanmak gibi farklı döngü türlerini karıştırabilirsiniz.
Kendin dene
# Girdiyi oku
rows = gets.to_i
cols = gets.to_i
# YAPILACAK: Kodunuzu aşağıya yazın
# Yıldızlardan oluşan bir dikdörtgen yazdırmak için iç içe döngüler kullanın
# Bir satır içindeki yıldızlar için print, bir sonraki satıra geçmek için puts kullanınBu ders kısa bir quiz içerir. Soruları yanıtlamak ve ilerlemeni kaydetmek için derse başla.
Temeller bölümündeki tüm dersler
4Operatörler Bölüm 2
Mantıksal Operatörler Bölüm 1Mantıksal Operatörler Bölüm 2Özet - Basit MantıkMantıksal Operatörler Bölüm 3Mantıksal Operatörler Bölüm 47Hesap Paylaşımı Hesaplayıcısı
Hoş Geldiniz MesajıKullanıcı Girdisi Alma13İleri Seviye Diziler
Aralıklar ile Dizi Dilimlemeİndeksler ile Dizi DilimlemeDizi OperatörleriInclude? Metodu2Değişkenler ve Veri Tipleri
Sayılar ve DeğişkenlerString Veri TipiBoolean Veri TipiSymbol Veri TipiVeri Tiplerini Kontrol Etmeİsimlendirme KurallarıÖzet - Değişken Oluşturma8Döngüler
Aralıklar ile For DöngüsüWhile DöngüsüBreakNextÖzet - FaktöriyelTimes DöngüsüUntil Döngüsüİç İçe DöngülerÖzet - Dinamik Girdi3Operatörler Bölüm 1
Aritmetik OperatörlerModulo OperatörüAritmetik KısayollarÖzet - Basit MatematikKarşılaştırma Operatörleri6Temel IO
puts ile Çıktı Almaprint ve p ile Çıktı AlmaDeğişkenlerle Çıktı Almagets ile Girdi AlmaChomp MetoduTip DönüşümüÖzet - Yaş HesaplayıcıÖzet - Doğru mu Yanlış mı9Metotlar
Metot TanımlamaMetot ParametreleriDönüş DeğerleriÖzet - Sigma MetoduÖzet - Doğrulama MetoduVarsayılan Parametre Değerleri12Koleksiyonlar Üzerinde Yineleme
Each Yineleyicisiİndeks ile EachStringler Üzerinde YinelemeMap ve Collect