Until Döngüsü
Coddy'nin Ruby Journey'sinin Temeller bölümünün bir parçası — ders 45 / 88.
until döngüsü, while döngüsünün zıttıdır. Bir koşul doğru olduğu sürece çalışmak yerine, bir koşul doğru olana kadar çalışır. Bunu "bu gerçekleşene kadar devam et" olarak düşünün.
count = 1
until count > 3
puts count
count += 1
endBu, 1, 2, 3 çıktılarını verir. Döngü, count > 3 yanlış (false) olduğu sürece devam eder. count 4 olduğunda, koşul doğru (true) olur ve döngü durur.
Bunu eşdeğer while döngüsü ile karşılaştırın:
# Bu iki döngü aynı şeyi yapar:
while count <= 3 # bu DOĞRU olduğu sürece çalıştır
until count > 3 # bu DOĞRU olana kadar çalıştıruntil döngüsü, bir şeyin gerçekleşmesini beklerken kodunuzu daha okunabilir hale getirebilir. İşte bir geri sayım örneği:
num = 5
until num == 0
puts num
num -= 1
end
puts "Liftoff!"Bu, 5'ten 1'e doğru geri sayar, ardından num 0'a ulaştığında "Liftoff!" yazdırır. Özellikle belirli bir durumun gerçekleşmesini beklediğinizde, niyetinizi daha net hale getiriyorsa until ifadesini tercih edin.
Görev
KolayGirdiden bir n sayısı okuyun. 1'den n'ye kadar olan tüm sayıları, her biri kendi satırında olacak şekilde yazdırmak için bir until döngüsü kullanın. n değerine ulaştıktan sonra, yeni bir satıra Done! yazdırın.
Döngü, sayaç n değerini aşana kadar devam etmelidir.
Girdi, hedef sayıyı temsil eden tek bir tam sayı olacaktır.
Örneğin, girdi 4 ise çıktı şu şekilde olmalıdır:
1
2
3
4
Done!Girdi 6 ise çıktı şu şekilde olmalıdır:
1
2
3
4
5
6
Done!Kopya kağıdı
until döngüsü, bir koşul doğru olana kadar çalışır (while döngüsünün tersidir):
count = 1
until count > 3
puts count
count += 1
end
# Outputs: 1, 2, 3while döngüsü ile karşılaştırma:
while count <= 3 # run while this is TRUE
until count > 3 # run until this is TRUEÖrnek geri sayım:
num = 5
until num == 0
puts num
num -= 1
end
puts "Liftoff!"Kendin dene
# Hedef sayıyı oku
n = gets.to_i
# Sayacı başlat
counter = 1
# YAPILACAK: Kodunuzu aşağıya yazın
# 1'den n'e kadar olan sayıları yazdırmak için bir until döngüsü kullanın
# Döngü, sayaç n'i aşana kadar devam etmelidir
# Döngüden sonra "Done!" yazdırın
puts "Done!"Bu 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