From: Devin Mullins Date: 2005-06-30T10:27:54+09:00 Subject: Re: Q: inheriting from Array, overloading [] Change super[key] to super(key) or super key. Remember, [] is just another method, and like other methods, it accepts the typical form. class A def [](key) puts "key: #{key}" end end a = A.new a.[](5) Outputs: key: 5 As matz posted, super defaults to passing the same values passed to you, while super() passes zero args. class A def put(a) puts a end end class B