Özet - Not Sınıflandırıcı
Coddy'nin Ruby Journey'sinin Mantık ve Akış bölümünün bir parçası — ders 42 / 56.
Sınav puanlarını tek bir kısa betikte sınıflandırmak için çoklu değerli case, ternary ve satır içi değiştiricileri birleştirin.
Görev
OrtaGirdiden virgülle ayrılmış tam sayı puanlarından oluşan bir liste okuyun. Her puan için bir satır yazdırın:
<score>: <letter> (<status>)Burada letter, puan üzerindeki bir case yapısından gelir:
90..100→A80..89→B70..79→C60..69→D- diğer her şey →
F
Ve status bir ternary (üçlü operatör) kullanır: puan en az 60 olduğunda passing, aksi takdirde failing.
Döngüden sonra, Top scorer: <score> yazdırın: ancak yalnızca maksimum puan 90 veya daha yüksekse (satır içi bir if kullanın).
95,72,55,88 girdisi için çıktı şöyledir:
95: A (passing)
72: C (passing)
55: F (failing)
88: B (passing)
Top scorer: 95Kendin dene
scores = gets.chomp.split(",").map(&:to_i)
# YAPILACAK: her puan için "<n>: <harf> (<durum>)" yazdır
# YAPILACAK: sadece en yüksek puan >= 90 ise "Top scorer: <max>" yazdır
Mantık ve Akış bölümündeki tüm dersler
1Derinlemesine Stringler
String Metotlarına Genel BakışString InterpolationStringler Üzerinde GezinmeSplit ve JoinÖzet - String Weaver4Bloklar, Procs ve Lambdalar
Blok Nedir?do..end ve Süslü Parantezleryield Anahtar KelimesiBlok ParametreleriProcs ve LambdalarÖzet - Özel İteratör7Hashes Bölüm 2
Varsayılan Değerlerle Hash.newHash Yapıları Üzerinde Yinelemeİç İçe Hash YapılarıBirleştirme ve DönüştürmeÖzet - Frekans Sayacı10Proje - Öğrenci Kayıtları
Projeye Genel BakışÖğrenci Ekle5Enumerable Gücü
Select ve RejectMap ZincirlemeReduce / Injectcount, all?, any?, none?group_by ve partitionsort_by, min_by, max_byÖzet - Data Pipeline8İleri Seviye Karar Yapıları
Sınıflar ve Regex ile CaseÇok Değerli whenTernary OperatörüSatır İçi if / unlessÖzet - Not Sınıflandırıcı