Özet - Frekans Sayacı
Coddy'nin Ruby Journey'sinin Mantık ve Akış bölümünün bir parçası — ders 37 / 56.
Önceki bölümlerdeki varsayılan değerli hash'leri, yinelemeyi ve sıralamayı klasik bir meydan okumada bir araya getirin: bir kelime frekans raporu.
Görev
OrtaGirdi olarak tek bir satır, bir cümle okuyun. Her bir word (boşluklara göre ayrılmış, küçük harfe dönüştürülmüş) değerini frekansıyla eşleyen bir Hash.new(0) oluşturun.
Ardından şunları yazdırın:
- Toplam benzersiz kelime sayısı
- Her kelime için azalan frekans sırasına göre (eşitlik durumunda kelimeye göre alfabetik olarak) şu formatta bir satır:
<word>: <count>
the quick brown fox jumps over the lazy dog the dog girdisi için çıktı şöyledir:
8
the: 3
dog: 2
brown: 1
fox: 1
jumps: 1
lazy: 1
over: 1
quick: 1Kendin dene
input = gets.chomp
# YAPILACAK: kelime → sayı şeklinde bir Hash.new(0) oluşturun, ardından şunları yazdırın:
# 1) benzersiz kelime sayısı
# 2) sayıya göre azalan, eşitlik durumunda kelimeye göre artan şekilde sıralanmış girdiler
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ı