Menu
Coddy logo textTech

İç İç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
end

Ruby 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"
end

Her 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.

challenge icon

Görev

Kolay

Aşağıdaki değişken size sağlanmıştır:

temperature = 15

Sı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 temperature değeri 30 sayısından büyük veya eşitse, Hot - Stay hydrated yazdırın
  • Eğer temperature değeri 20 sayısından büyük veya eşitse, Warm - Enjoy the day yazdırın
  • Eğer temperature değeri 10 sayısından büyük veya eşitse, Cool - Bring a jacket yazdırın
  • Eğer temperature değeri 0 sayısından büyük veya eşitse, Cold - Bundle up yazdırın
  • Aksi takdirde, Freezing - Stay indoors yazdı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
end

Ruby, 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"
end

Gerektiğ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ın
quiz iconKendini test et

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