向Array类添加新方法

use*_*153 5 ruby instance

我对Array对象有了新的要求.所以我需要将自己的方法添加到内置的Array类中.

如何添加一个新方法,以便我创建的任何Array对象,它也将具有我的实例方法?

Mar*_*pka 13

使用Ruby Open Classes:

class Array
  def mymethod
    #implementation
  end
end
Run Code Online (Sandbox Code Playgroud)


小智 7

其他答案基本上表明你可以通过重新定义类来为类添加一个方法,只是添加到那个,一个例子可能是这样的:

class Array
    def third
        size > 2 ? self[2] : nil
    end
end

a = [1, 2, 3, 4, 5]

puts a.third
Run Code Online (Sandbox Code Playgroud)