From: dblack@... Date: 2006-07-10T01:08:39+09:00 Subject: Re: Sorting arrays Hi -- On Mon, 10 Jul 2006, Dark Ambient wrote: > On 7/9/06, dblack@wobblini.net wrote: > >> I don't see that in your code. I see this: >> >> lowest = nil >> >> So this: >> >> lowest == nil >> >> is true. > > > Sorry I'm not trying to be frustrating. > > def sort(list) > sorted = [] > unsorted = [] > > lowest = nil <----------- here lowest is being set to nil > list.each do |item| > if lowest == nil || item < lowest <----then expression 1 is true (as you > say above). Correct. Therefore this gets executed: > lowest = item So now, lowest is item -- which was "five" (or whatever the first array item was). So *next* time through the loop, this: lowest == nil will *not* be true. So this: item < lowest will be tested instead. David -- http://www.rubypowerandlight.com => Ruby/Rails training & consultancy http://www.manning.com/black => RUBY FOR RAILS, the Ruby book for Rails developers http://dablog.rubypal.com => D[avid ]A[. ]B[lack's][ Web]log dblack@wobblini.net => me