From: Hal Fulton Date: 2004-09-04T12:54:52+09:00 Subject: OK... :) question about hash and array literals It has always bothered me a little that [...] and {...} do not call Array.new and Hash.new respectively. I assume this is handled closer to parse time, for speed? Is there a method that does get called (I think not), or could in theory such a thing be implemented? Example: class Hash def Hash.literal(*pairs) pairs.each do |pair| k, v = pair puts "Adding key #{k}, value #{v}" end super # or whatever end end x = {1=>2, 3=>4} # Output: Adding key 1, value 2 # Adding key 3, value 4 And yes, this is related again to my wanting an ordered arbitrarily indexable collection with a convenient literal notation. Just curious... Hal