From: yermej Date: 2008-05-06T08:55:06+09:00 Subject: Re: Extending Array and assigning to self On May 5, 6:21 pm, Oliver Saunders wrote: > I've got this class that is essentially an array with a few things > added. Here's some of it: > > class Pages > > def initialize > @content = [] > end > > def import(file, page_delimiter = ' ') > @content = file.read.split page_delimiter > self > end > > def [](num) > @content[num] > end > > def <<(page_content) > @content << page_content > end > > ... > > Because I'm basically reimplementing Array I thought it might me more > sense to inherit from Array or delegate to Array. The trouble is that I > need to assign to @content. How do you suggest I get round this problem? > -- > Posted viahttp://www.ruby-forum.com/. I would just use Array's own methods. E.g.: class Pages < Array def import(file, page_delimiter = ' ') self.clear self.concat file.read.split.page_delimiter end end I'm not sure if Array#concat is the best choice here (for some definition of best), but it'll work.