On Oct 7, 2007, at 4:30 PM, Dave Pederson wrote:

> Hi all-

Hi Dave.

> This is my first quiz.

I did forward your first message to the list, but I'm glad to see you  
decided to join us.

> Since I am very new to ruby (been at it in my spare time now for  
> about a
> month), I would appreciate any comments/suggestions anyone may have.

Some thoughts:

     def copy
       Gene.new(@city, @lat, @lon)
     end

All objects include a dup() method that would be equivalent to this.

For:

     def eql?(gene)
       self == gene
     end

Or just:

   alias_method :eql?, :==

With:

     def ==(chrom)
       false unless chrom.class == self.class && size == chrom.size
       0.upto(size-1) do |i|
         return false unless self[i] == chrom[i]
       end
       true
     end

This is a light suggestion, but we tend to do as few type checks as  
possible in Ruby.  You may have a reason for doing it here, but most  
of the time we find that leaving them out gives us more options.

Those are just some general points I saw.  Overall, it's a nice  
solution.  Thanks for sharing.

James Edward Gray II