Sven Schott wrote:
> Hello all,
> 
> I just had a question with regards to subclasses. At the moment, I am 
> writing a simple class to extend Array for my own silly purposes. 
> However, I am not sure how to access the data inside the class from my 
> extension. Here's an example of what I wrote(not the actual code):
> 
> class SuperDuperArray < Array
>     def export
>         self.each { |x| puts "Export: #{x}" }
>     end
> end
> 
> Is self the best way to access the data/stuff/whatever itself? This 
> works fine but I don't know if I am just being a dunce or if there is a 
> better(read Ruby) way of doing this.
> 
> Sorry for the stupid question.

Not a stupid question at all.

When you're writing a method of Array, you don't have any special access 
to the array elements; you just use the same methods that you normally 
would. (Contrast this with the case of methods of a user-defined class, 
which can access instance variables directly using "@ivar", rather than 
call accessor methods.)

The only thing I'd do differently with your code is omit the "self.":

class SuperDuperArray < Array
     def export
         each { |x| puts "Export: #{x}" }
     end
end