From: Jason Lillywhite Date: 2008-11-20T13:01:53+09:00 Subject: Re: build hash by iterating Botp, thanks. That is an easier way to look at it. Can I go back to this Enumerable#inject? I understand iterating on elements of an array like this: range = (1..4) sum = range.inject(0) {|result, element| result += element } #I understand inject to be doing this (where my 'i' means 'iteration'): #sum(i=1) = 0 + 1 = 1 #sum(i=2) = sum(i=1) + 2 = 3 #sum(i=3) = sum(i=2) + 3 = 6 #sum(i=4) = sum(i=3) + 4 = 10 => sum = 10 #However, iterating over a hash is confusing me. Here is a simple example: hash = [[:diameter, 45], [:id, 2]].inject({}) do |result, element| result[element.first] = element.last result end #can someone help me understand better what exactly is happening on each iteration? #hash(i=1) = ?? #hash(i=2) = ?? Thank you! -- Posted via http://www.ruby-forum.com/.