On Wed, Oct 26, 2011 at 4:04 PM, Marc Heiler <shevegen / linuxmail.org> wrote: > Given is a small .rb file. > > In that .rb file, class Array is modified and a convenience > method is added. > > class Array > > ¨Âåæ òáîä > > I want to limit this modification to only that specific > .rb file though. > > When I use that .rb file in a larger project, I do not want > the modification of class Array to leak out into other .rb > files. Is there a way to limit the scope of the modification? > > Of course I can define a method simply and call that, but: > > ¨Âòòáù®òáî> > Looks better to my eyes than: > > ¨Âáîä¨áòòáù© > > So I would prefer to be able to do only the array.rand. One solution would be to create a module with the rand method, and extend only the arrays you use in that .rb: # small.rb module Randomizable def rand # your implentation end end some_elements = [1,2,3,4,5] some_elements.extend(Randomizable) some_elements.rand All other arrays in the system will not be affected. Jesus.