class InfiniteArray < Array def initialize(value) super(1, value) end def [](index) self.first end end irb(main):011:0> a = InfiniteArray.new('str') => ["str"] irb(main):012:0> a[999999] => "str" irb(main):013:0> a.first => "str" irb(main):014:0> a.last => "str"