Ruby,从命令行运行

时间:2016-11-04 12:57:30

标签: ruby command-line

我有我的代码:

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 

然后没有任何反应 - 任何人都可以解释为什么......?

1 个答案:

答案 0 :(得分:2)

没有任何反应,因为你在文件中什么都不做。

要获得某些输出,您需要添加

String.new.freq

作为文件的最后一行。

或者,您可以在最后一个end之前添加以下行:

new.freq # create an instance of the class and call `freq` method on it

这两个选项都会导致freq方法实际上被称为并产生输出。

相关问题