Menu
Coddy logo textTech

Ternary Operatörü

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

Ternary operatörü, bir değer döndüren if/else yapısı için tek satırlık bir kısayoldur. Sözdizimi condition ? value_if_true : value_if_false şeklindedir.

age = 20
status = age >= 18 ? "Eligible" : "Not Eligible"
puts status   # Eligible

Şu şekilde yazmakla aynıdır:

status = if age >= 18
           "Eligible"
         else
           "Not Eligible"
         end

Her iki dal da kısa değerler döndürdüğünde ternary kullanın. Eğer dallardan biri birden fazla ifadeye ihtiyaç duyuyorsa, gerçek bir if/else yapısına geri dönün: bir ternary içine çok fazla şey sığdırmak okumayı zorlaştırır.

Bunu, interpolasyon da dahil olmak üzere diğer ifadelerin içinde doğrudan kullanabilirsiniz:

count = 1
puts "#{count} item#{count == 1 ? "" : "s"}"   # 1 öğe
count = 5
puts "#{count} item#{count == 1 ? "" : "s"}"   # 5 öğe
challenge icon

Görev

Kolay

Girdiden bir n tam sayısı okuyun. Üçlü operatör (ternary operator) kullanarak (if/else blokları kullanmadan), tam olarak şunu yazdırın:

<n> is <label>

burada label şunlardan biridir:

  • n > 0 olduğunda positive
  • n < 0 olduğunda negative
  • n == 0 olduğunda zero

İpucu: iç içe geçmiş bir üçlü operatör kullanın, condition ? a : (other_condition ? b : c).

5 girdisi için çıktı 5 is positive şeklindedir. 0 için ise 0 is zero şeklindedir.

Kopya kağıdı

Ternary operatörü, tek satırlık bir if/else kısayoludur: condition ? value_if_true : value_if_false

age = 20
status = age >= 18 ? "Eligible" : "Not Eligible"  # "Eligible"

Ternary operatörleri iç içe geçebilir ve dize enterpolasyonu (string interpolation) içinde kullanılabilir:

count = 5
puts "#{count} item#{count == 1 ? "" : "s"}"  # 5 items

# İç içe geçmiş ternary
n = 3
label = n > 0 ? "positive" : (n < 0 ? "negative" : "zero")

Ternary'yi yalnızca kısa ve basit dallanmalar için kullanın — dallanmalar birden fazla ifade gerektirdiğinde if/else yapısını tercih edin.

Kendin dene

n = gets.to_i

# YAPILACAK: etiketi oluşturmak için bir ternary (üçlü) ifade kullanın, ardından puts ile yazdırın
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