From: Tim Hunter Date: 2009-06-06T10:40:10+09:00 Subject: Re: Can someone explain the difference: Array[] and Array.fetch Marc Heiler wrote: > array = ["a","b","c"] # => ["a", "b", "c"] > array[1] # => "b" > array.fetch 1 # => "b" > > > # ================================================== # > # So far, so fine. > # ================================================== # > > > array[666] # => nil > array.fetch 666 > > IndexError: index 666 out of array > from (irb):5:in `fetch' > from (irb):5 > > > This may seem like a trival difference between the two, but > I am wondering in general why they behave differently. > Or in other words, why array[] does not return an error > whereas .fetch specifically does. You might say that's the purpose of fetch, to raise an exception for out-of-bounds indexes when [] just returns nil. Pick the method you want depending on the error handling you want. -- MagickWand for Ruby - http://magickwand.rubyforge.org/