Arrayclass
Arrayclass is a class factory for generating Array based objects whose attributes can be accessed like those of a normal ruby object (or like an array). They are highly memory efficient (almost equivalent to an Array) and fast to work with.
Features
Arrayclass based objects are:
-
memory efficient - roughly the same space as a normal array
-
quickly instantiated with data
Examples
require 'arrayclass'
Person = Arrayclass.new(%w(name eye_color watch_brand))
# instantiate with an array
joe = Person.new(%w(Joe brown Casio))
# instantiate an empty object (an array of the expected size is created)
sally = Person.new
sally.name = 'Sally'
sally[0] == 'Sally' # true
### Access/modify attributes like a normal object
joe.name # 'Joe'
joe.watch_brand = 'Timex'
### Use some array features
joe[1] # 'brown'
joe[1..2] = ['blue', 'Fossil']
joe.each {|attribute| # do something with attribute }
### Arrayclass derived classes can be subclassed
class BigPerson < Person
def some_new_function
end
# push on another attribute
self.add_member('shoe_type')
# (haven't written a remove_member function yet...)
end
BigPerson.new
Installation
gem install arrayclass