我正在编写直方图并遇到了问题。我不太确定如何在直方图旁边得到字母表的字母,如D:2。目前他们只是按照这样打印:
A
B
C
D
0
0
0
2
这是我到目前为止所获得的代码,任何想法需要添加/重新安排,因为我很困难!非常感谢!请不要使用宝石
class String
def frequency
letters = Hash.new(0)
self.gsub(/\s+/, ' ').upcase.delete(','+''+' ').each_char {|c| letters[c] += 1 }
letters = letters.sort_by {|x,y| y }
end
def histogram
myhash = Hash.new(0)
#freq = self.frequency;
self.each_char {|i| myhash[i] += 1}
('a'..'z').each { | c , v | puts myhash[c] }
end
end
答案 0 :(得分:1)
没有易于复制粘贴的测试代码,我无法在短时间内给出经过验证的答案。也许你可以用测试用例提供更多代码。正如其他人所指出的那样,这将不打印直方图,而是一个表格,其中包含从“小a”到“小z”的字母,以及它们在字符串中出现的频率。
几个指针
histogram
print_character_count
将导致以下输出:
"notananswer".print_character_count
a 2
b 0
c 0
d 0
e 1
...