我有我的代码:
class String
def freq
str = String "a string!"
self.upcase.each_char { |c| puts c + "!" }
str = text.split(" ")
wordFrequencies = Hash.new(0)
str.each { |str| wordFrequencies[str] += 1 }
wordFrequencies = wordFrequencies.sort_by {|a, b| b }
wordFrequencies.reverse!
wordFrequencies.each { |str, wordFrequencies | puts str + " " + wordFrequencies.to_s }
end
end
当我从命令行运行它时,我这样做:
ruby filename.rb
然后没有任何反应 - 任何人都可以解释为什么......?
答案 0 :(得分:2)
没有任何反应,因为你在文件中什么都不做。
要获得某些输出,您需要添加
String.new.freq
作为文件的最后一行。
或者,您可以在最后一个end
之前添加以下行:
new.freq # create an instance of the class and call `freq` method on it
这两个选项都会导致freq
方法实际上被称为并产生输出。