Ruby - Enumerable模块的添加方法不起作用

时间:2014-12-14 03:43:40

标签: ruby ruby-2.0

Ruby新手在这里。我正在尝试实现我自己的可枚举模块方法版本。我从“每个”开始,并使用以下代码。当我尝试在数组中使用irb中的thos方法时,该方法似乎无法被识别,我得到一个'NoMethodError'。

我对Ruby完全不熟悉,不确定我是否遗漏了一些非常基本的东西。感谢你的帮助。

Enumerable.rb:

module Enumerable
  def my_each
    i = 0
    while i < self.size
      yield( self[i] )
      i+=1
    end
    self
  end
end

2.0.0-p247 :002 > arr = [1,2,3,4,5]
 => [1, 2, 3, 4, 5] 
2.0.0-p247 :003 > arr.my_each do|element|
2.0.0-p247 :004 >     puts "#{element}--"
2.0.0-p247 :005?>   end
NoMethodError: undefined method `my_each' for [1, 2, 3, 4, 5]:Array

0 个答案:

没有答案