单词分析
本课属于 Coddy Ruby 学习旅程的“逻辑与流程”单元。第 54 课,共 56 课。
一个综合挑战,会同时用到字符串、哈希、Hash.new(0) 和 Enumerable 方法。
挑战
中等读取一行输入,也就是一个句子。分析它并打印三行:
- 不同单词的数量(不区分大小写,并去掉标点符号)。重复的单词只计一次。
- 重复出现的单词(出现次数超过一次),按字母顺序排序,并用
,连接。如果没有,则打印(none)。 - 回文词,也就是正着读和倒着读都相同的单词,长度 ≥ 2,按字母顺序排序,并用
,连接。如果没有,则打印(none)。
处理前,从每个单词中去掉字符 .,!?:;"()。比较时将所有内容转换为小写。
对于输入 Madam saw a racecar. Dad said hello hello to mom.,输出为:
9
hello
dad, madam, mom, racecar亲手试试
input = gets.chomp
# TODO:拆分文本,去掉标点,转换为小写,然后打印:
# 不同单词的数量、重复的单词、回文词(长度 >= 2)
这节课包含一个小测验。开始学习即可作答,并记录你的进度。
逻辑与流程中的所有课
自己练习: Ruby 在线编译器