我是红宝石新手。我正在尝试创建一个report_checker函数,该函数检查单词“green,red,amber”出现的频率并以以下格式返回:“Green:2/nAmber:1/nRed:1”。
如果该词不是免费提到的词之一,则将其替换为“未计算”一词,但仍会计算它出现的次数。
我的代码返回重复,例如,如果我给它输入report_checker(“Green,Amber,Green”)。它返回“绿色:2/n琥珀色:1/n绿色:2”,而不是“绿色:2/n琥珀色:1”。
此外,它不计算未解释的单词出现的次数。关于我哪里出错的任何指导?
def report_checker(string)
array = []
grading = ["Green", "Amber", "Red"]
input = string.tr(',', ' ').split(" ")
input.each do |x|
if grading.include?(x)
array.push( "#{x}: #{input.count(x)}")
else
x = "Unaccounted"
array.push( "#{x}: #{input.count(x)}")
end
end
array.join("/n")
end
report_checker("Green, Amber, Green")
Run Code Online (Sandbox Code Playgroud)
我尝试将单词推入单独的单词并返回预期的单词及其计数
ruby ×1