İç İçe If - Else
Coddy'nin Ruby Journey'sinin Temeller bölümünün bir parçası — ders 24 / 88.
İkiden fazla koşulu kontrol etmeniz gerekirse ne olur? Bir if-else ifadesini başka bir if-else ifadesinin içine yerleştirebilirsiniz. Buna iç içe yerleştirme (nesting) denir ve birden fazla karar noktasını yönetmenize olanak tanır.
score = 85
if score >= 90
puts "Grade: A"
else
if score >= 80
puts "Grade: B"
else
puts "Grade: C"
end
endRuby ilk koşulu kontrol eder. Eğer bu yanlışsa, başka bir if-else yapısının beklediği else bloğuna geçer. Bu, her biri olasılıkları daraltan bir kararlar zinciri oluşturur.
Ruby, elsif kullanarak bunu yazmanın daha temiz bir yolunu sunar; bu da else ve if yapılarını tek bir anahtar kelimede birleştirir:
score = 85
if score >= 90
puts "Grade: A"
elsif score >= 80
puts "Grade: B"
else
puts "Grade: C"
endHer iki örnek de aynı sonucu verir, ancak elsif kodunuzu daha düz ve okunması daha kolay tutar. İhtiyacınız olduğu kadar elsif koşulunu birbirine bağlayabilirsiniz ve son else önceki koşullarla eşleşmeyen her şeyi yakalar.
Görev
KolayAşağıdaki değişken size sağlanmıştır:
temperature = 15Sıcaklığı sınıflandırmak ve uygun mesajı yazdırmak için if, elsif ve else kullanarak bir hava durumu tavsiye sistemi oluşturun:
- Eğer
temperaturedeğeri30sayısından büyük veya eşitse,Hot - Stay hydratedyazdırın - Eğer
temperaturedeğeri20sayısından büyük veya eşitse,Warm - Enjoy the dayyazdırın - Eğer
temperaturedeğeri10sayısından büyük veya eşitse,Cool - Bring a jacketyazdırın - Eğer
temperaturedeğeri0sayısından büyük veya eşitse,Cold - Bundle upyazdırın - Aksi takdirde,
Freezing - Stay indoorsyazdırın
Yalnızca sıcaklığa uyan tek mesajı yazdırın.
Kopya kağıdı
Birden fazla koşulu kontrol etmek için if-else ifadelerini birbirinin içine yerleştirebilirsiniz:
score = 85
if score >= 90
puts "Grade: A"
else
if score >= 80
puts "Grade: B"
else
puts "Grade: C"
end
endRuby, birden fazla koşulu zincirlemek için daha temiz bir yol olarak elsif sağlar:
score = 85
if score >= 90
puts "Grade: A"
elsif score >= 80
puts "Grade: B"
else
puts "Grade: C"
endGerektiği kadar elsif koşulunu zincirleyebilirsiniz. Sondaki else, önceki koşullarla eşleşmeyen her şeyi yakalar.
Kendin dene
temperature = 15
# YAPILACAK: Sıcaklığı sınıflandırmak için kodunuzu aşağıya yazın
# Uygun hava durumu tavsiye mesajını yazdırmak için if, elsif ve else 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