【发布时间】:2014-10-28 16:46:42
【问题描述】:
这是我尝试运行的代码,它计算传递给它的数组中字符的频率,这是我得到的错误 frequency_string': undefined methodeach' for "a":String (NoMethodError) 。我不完全确定出了什么问题,因为这是应该工作的代码并且是给我的。对 Ruby 来说非常陌生,我花了几个小时试图自己解决这个问题。我会寻求任何帮助。
def frequency_string(chars)
frequencies = {}
result = ""
chars.each do |char|
if frequencies.has_key? char then
frequencies = 1
else
frequencies[char] += 1
end
end
frequencies.each do |char, freq|
result << char << freq
end
return result
end
data1 = ['a', 'b', 'c', 'c', 'd', 'a', '#', 'b', '#', 'a']
puts "Data 1: " + data1.join(' ')
puts
puts frequency_string(data1)
【问题讨论】: