Üçlü Operatör
Coddy'nin Ruby Journey'sinin Mantık ve Akış bölümünün bir parçası. Ders 40 / 56.
Üçlü operatör, bir değer döndüren if/else 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 # UygunŞunu yazmakla aynıdır:
status = if age >= 18
"Eligible"
else
"Not Eligible"
endÜçlü ifadeyi her iki dal da kısa değerler döndürdüğünde kullanın. Dallardan herhangi biri birden fazla ifadeye ihtiyaç duyuyorsa, gerçek bir if/else yapısına dönün: üçlü ifadeye çok fazla şey sığdırmak onu okumayı zorlaştırır.
Değişken yerleştirme de dahil olmak üzere, bunu doğrudan diğer ifadelerin içinde kullanabilirsiniz:
count = 1
puts "#{count} item#{count == 1 ? "" : "s"}" # 1 öğe
count = 5
puts "#{count} item#{count == 1 ? "" : "s"}" # 5 öğeGörev
KolayGirdiden bir tamsayı n okuyun. Üçlü operatörü (if/else blokları olmadan) kullanarak tam olarak şunu yazdırın:
<n> is <label>burada label şu değerdedir:
positiveolduğundan > 0negativeolduğundan < 0zeroolduğundan == 0
İpucu: iç içe üçlü operatör kullanın: condition ? a : (other_condition ? b : c).
5 girdisi için çıktı 5 is positive olur. 0 için ise 0 is zero olur.
Kendin dene
n = gets.to_i
# TODO: etiketi oluşturmak için bir ternary ifade kullan, sonra puts
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
1Dizeler Detaylı İnceleme
Dize Metotlarına Genel BakışDize EnterpolasyonuDizeler Üzerinde YinelemeBölme ve BirleştirmeTekrar - Dize Dokuyucu4Bloklar, Proc'lar ve Lambda'lar
Blok Nedir?do..end ve Süslü Parantezleryield Anahtar SözcüğüBlok ParametreleriProc'lar ve Lambda'larÖzet - Özel Yineleyici7Hash'ler 2. Bölüm
Varsayılanlarla Hash.newHash'ler Üzerinde Yinelemeİç İçe Hash'lerBirleştirme ve DönüştürmeTekrar - Frekans Sayacı10Proje - Öğrenci Kayıtları
Projeye Genel BakışÖğrenci Ekle5Enumerable Gücü
Seçme ve ReddetmeMap ZincirlemeReduce / Injectcount, all?, any?, none?group_by ve partitionsort_by, min_by, max_byTekrar - Veri Hattı8Gelişmiş Karar Verme
Sınıflar ve Regex ile CaseÇok değerli whenÜçlü OperatörSatır içi if / unlessTekrar - Not SınıflandırıcıKendi başına pratik yap: Online Ruby derleyicisi