Hi, From: "John Carter" <john.carter / tait.co.nz> > > def histogram( enum) > # <--- Implicit hash = Hash.new(0) here > enum.each{|e| hash[e]+=1} # Hash autovivifies. eh? But... somevar[e] ... Why would Ruby assume I wanted a Hash object? That could be an Array, or a String, or....... Do you mean the autovivification would happen only if the variable was actually _named_ 'hash' ? Or am I not understanding your example? > # Since hash autovivified we expect it to be available > # outside the block scope. > hash.keys.sort{|a,b| hash[a]<=>hash[b]}.each do |k| > puts "#{k}\t#{hash[k]}" > end > end Regards, Bill