From: Just Another Victim of the Ambient Morality Date: 2008-03-30T14:15:07+09:00 Subject: inject's pathological case... I'm not sure how I feel about inject's pathological case. What do you all think should happen in the following code? [2].inject {|a, i| puts i} I might have thought that the block would never be called and the method would return 2. If the block must be called, I might expect "i" to be nil. What actually happens is that the block is called and "i" is the same thing as "a". I did not expect this and I'm trying to figure out how this is either consistent or useful. Can someone clue me in to this behaviour? Thank you...