如何在Ruby中从另一个类中调用一个实例方法?

菜鸟学习者

我正在尝试学习Ruby,并且试图从另一个实例调用一个实例方法。我的代码如下:

class ScanTextInFile

  attr_accessor :content , :line_number

  def content
    @content
  end

  def line_number
    @line_number
  end

  def content= (text)
    @content = text
  end

  def line_number= (line)
    @line_number = line
  end

  def initialize (content , line_number)
    self.content = content
    self.line_number = line_number
    #self.calculate_word_frequency
  end

  def calculate_word_frequency
    words = self.content.split
    words_hash = Hash.new
    words.each do | word |
      word.downcase!
      if words_hash.has_key?
        words_hash[key] += 1
      else 
        words_hash[key] = 1 
      end
      highest_wf_count = words_hash.values.max
      words_hash.each { |key, value| highest_wf_words.push(key) }
    end 
  end
end

我正在尝试计算单词在给定字符串中出现的次数。我正在calculate_word_frequency为此使用实例方法当我注释掉calculate_word_frequency代码调用正常运行

$ irb -I
irb(main):001:0> require_relative 'test'
=> true
irb(main):002:0> 
irb(main):003:0* 
irb(main):004:0* a = ScanTextInFile.new("Bla bla foo foo bar baz foo bar bar", 1)
=> #<ScanTextInFile:0x007fc7a39b01c8 @content="Bla bla foo foo bar baz foo bar bar", @line_number=1>

但是,当我calculate_word_frequency在代码initialize块中调用实例方法,出现错误消息ArgumentError: wrong number of arguments (0 for 1)

$ irb -I
irb(main):001:0> require_relative 'test'
=> true
irb(main):002:0> a = ScanTextInFile.new("Bla bla foo foo bar baz foo bar bar", 1)
ArgumentError: wrong number of arguments (0 for 1)

我尝试self在调用方法同时删除该操作,但仍然出现错误。调用该方法时,我不知道出了什么问题。正确的方法是什么?

安东尼

该错误在这里非常具有描述性,在第32行中您具有以下内容:

  if words_hash.has_key?

该方法Hash#has_key?要求您传入一个参数,如some_hash.has_key?("a_key")

我认为您的意思是这样使用:words_hash.has_key?(word)

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何在另一个类中调用一个类的main()方法?

来自分类Dev

如何在同一个类的另一个方法中调用一个方法?

来自分类Dev

从另一个类Ruby调用实例方法

来自分类Dev

如何在一个类中从另一个调用一个函数(方法)?

来自分类Dev

如何在一个类中声明另一个类的实例

来自分类Dev

如何从另一个类中迅速调用另一个方法?

来自分类Dev

您如何在一个类中从另一个类中调用方法?

来自分类Dev

使用Rspec,如何测试从Ruby中另一个类调用方法的方法

来自分类Dev

如何在我的主类的另一个类中调用方法?

来自分类Dev

如何在另一个类中访问此实例方法

来自分类Dev

如何通过在Javascript另一个类的实例访问另一个类中的方法

来自分类Dev

如何在javascript中从另一个方法调用一个方法?

来自分类Dev

Minitest - 从另一个实例方法中调用一个模拟的实例方法

来自分类Dev

如何在实例化时在新类中创建另一个类的实例?

来自分类Dev

如何在按钮单击事件中从另一个类调用方法?

来自分类Dev

如何在另一个类中调用抽象的内部类方法?

来自分类Dev

如何在Java中从另一个类调用方法?

来自分类Dev

如何在另一个类中调用我的paintComponent() 方法

来自分类Dev

如何在类中调用函数以在php中调用另一个类?

来自分类Dev

在一个新类中,如何避免调用另一个类的实例?

来自分类Dev

如何在javascript中的另一个类中实例化类?

来自分类Dev

如何在Java中使用一个方法在一个类中创建另一个实例?

来自分类Dev

如何在C#中的另一个方法中调用同一类中的方法?

来自分类Dev

在另一个viewController中调用类方法

来自分类Dev

Repaint()方法在另一个类中调用

来自分类Dev

在PHP的另一个类中调用方法

来自分类Dev

从UIButton中的另一个类调用方法

来自分类Dev

如何跟踪一个类中另一个类的实例?

来自分类Dev

Java:如何在另一个类中使用在一个类中实例化的对象?

Related 相关文章

  1. 1

    如何在另一个类中调用一个类的main()方法?

  2. 2

    如何在同一个类的另一个方法中调用一个方法?

  3. 3

    从另一个类Ruby调用实例方法

  4. 4

    如何在一个类中从另一个调用一个函数(方法)?

  5. 5

    如何在一个类中声明另一个类的实例

  6. 6

    如何从另一个类中迅速调用另一个方法?

  7. 7

    您如何在一个类中从另一个类中调用方法?

  8. 8

    使用Rspec,如何测试从Ruby中另一个类调用方法的方法

  9. 9

    如何在我的主类的另一个类中调用方法?

  10. 10

    如何在另一个类中访问此实例方法

  11. 11

    如何通过在Javascript另一个类的实例访问另一个类中的方法

  12. 12

    如何在javascript中从另一个方法调用一个方法?

  13. 13

    Minitest - 从另一个实例方法中调用一个模拟的实例方法

  14. 14

    如何在实例化时在新类中创建另一个类的实例?

  15. 15

    如何在按钮单击事件中从另一个类调用方法?

  16. 16

    如何在另一个类中调用抽象的内部类方法?

  17. 17

    如何在Java中从另一个类调用方法?

  18. 18

    如何在另一个类中调用我的paintComponent() 方法

  19. 19

    如何在类中调用函数以在php中调用另一个类?

  20. 20

    在一个新类中,如何避免调用另一个类的实例?

  21. 21

    如何在javascript中的另一个类中实例化类?

  22. 22

    如何在Java中使用一个方法在一个类中创建另一个实例?

  23. 23

    如何在C#中的另一个方法中调用同一类中的方法?

  24. 24

    在另一个viewController中调用类方法

  25. 25

    Repaint()方法在另一个类中调用

  26. 26

    在PHP的另一个类中调用方法

  27. 27

    从UIButton中的另一个类调用方法

  28. 28

    如何跟踪一个类中另一个类的实例?

  29. 29

    Java:如何在另一个类中使用在一个类中实例化的对象?

热门标签

归档