class Buby class BubyArrayWrapper include Enumerable attr_reader :array_obj def initialize(obj) @array_obj = obj end def [](*args) if args.size == 1 and args.first.kind_of? Numeric self.array_obj[args[0]] else self.to_a(*args) end end def each self.array_obj.size.times do |idx| yield self.array_obj[idx] end end def size self.array_obj.size end alias length size def first return(self.array_obj[0]) if(self.size > 0) end def last return self.array_obj[self.size - 1] if(self.size > 0) end end end