From: "stephan.zimmer" Date: 2008-11-28T02:10:15+09:00 Subject: Ruby's duck typing I would like to represent certain data by a list; to this end I let class SomeData inherit from Array: class SomeData < Array def get_field self[2] end end (I want to keep it simple, therefore, the example might look silly.) Since the "get_field" method is not universal I don't want to reopen class "Array". If I write SomeData.new([1,2,3]).get_field everything is fine. If I, however, try to do [1,2,3].get_field I get an exception "NoMethodError", which, of course, is not surprising. My question is: is there a way around this, that is, to simply write [1,2,3] to denote a constant of type "SomeData" instead of always writing "SomeData.new([1,2,3])" (without reopening Array)? Thanks a lot, Stephan