回顾:频率计数器
本课属于 Coddy Ruby 学习旅程的“逻辑与流程”单元。第 37 课,共 56 课。
把前几章学过的默认值哈希、迭代和排序结合起来,完成一个经典挑战:生成词频报告。
挑战
中等读取一行输入,也就是一个句子。创建一个 Hash.new(0),将每个单词(按空白字符拆分并转换为小写)映射到它出现的次数。
然后输出:
- 不重复单词的总数
- 按频率降序排列每个单词,每个单词占一行(频率相同时按单词的字母顺序排列),格式如下:
<word>: <count>
对于输入 the quick brown fox jumps over the lazy dog the dog,输出为:
8
the: 3
dog: 2
brown: 1
fox: 1
jumps: 1
lazy: 1
over: 1
quick: 1亲手试试
input = gets.chomp
# TODO:用 Hash.new(0) 建立从单词到出现次数的映射,然后输出:
# 1)不同单词的数量
# 2)按出现次数降序排序的条目,次数相同时按单词升序排序
逻辑与流程中的所有课
自己练习: Ruby 在线编译器