From: Farrel Lifson Date: 2006-06-08T22:58:01+09:00 Subject: Re: Easy question You could have functions that query the points in the system instead of keeping track as you add them. def min_x (@points.min{|a,b| a.x <=> b.x}).x end def min_y (@points.min{|a,b| a.y <=> b.y}).y end def max_x (@points.max{|a,b| a.x <=> b.x}.x end def max_y (@points.min{|a,b| a.y <=> b.y}).y end