On Wed, 9 Aug 2006, Hal Fulton wrote:
=20
=20
i don't understand - it's up to to the objects inside the container to
impliment the right methods and array already knows how to handle it:
=20
=20
harp:~ > cat a.rb
a =3D 0, 'foo', 42
b =3D 1, 'bar', 42.0
=20
p a < b rescue puts "can't do that"
=20
class Array; include Comparable; end
=20
p a < b
=20
p a.sort_by{ rand } < b.sort_by{ rand }
=20
=20
harp:~ > ruby a.rb
can't do that
true
a.rb:9:in `<': comparison of Array with Array failed (ArgumentError)
from a.rb:9
=20
=20
if you're collections impliment <=3D> correctly then Array does the = right=20
thing -
looping over each of them.
=20
-a
FWIW, I modified the Array class to include Comparable and then ran both =
the=20
test_array.rb file that's distributed with the Ruby distro and my own =
tests in=20
the ruby_test project and all tests still passed.
Regards,
Dan
This communication is the property of Qwest and may contain confidential =
or
privileged information. Unauthorized use of this communication is =
strictly=20
prohibited and may be unlawful. If you have received this communication =
in error, please immediately notify the sender by reply e-mail and =
destroy=20
all copies of the communication and any attachments.