Neat.  I guess I should have just written the code and tried it out.

On 5/8/07, Bret Pettichord <[EMAIL PROTECTED]> wrote:
> Chris McMahon wrote:
> > I can think of a couple of ways to do this, but they're all painful in
> > one way or another.  Ruby being Ruby, I wonder if there's some nifty
> > shortcut.  Given
> >
> > floats = []
> > floats << 3.456
> > floats << 1.53
> > floats << 5.123
> >
> > show that the least element of the array is 1.53 and the greatest
> > element of the array is 5.123, where the array "floats" can have an
> > arbitrarily large number of elements, of which all are (of course)
> > numbers with decimal values
> irb(main):001:0> floats = []
> => []
> irb(main):002:0> floats << 3.456
> => [3.456]
> irb(main):003:0> floats << 1.53
> => [3.456, 1.53]
> irb(main):004:0> floats << 5.123
> => [3.456, 1.53, 5.123]
> irb(main):005:0> floats.min
> => 1.53
> irb(main):006:0> floats.max
> => 5.123
>
> These methods aren't simply part of the Array class. Rather they come
> from the Enumerable module (which Array uses). You can mix this module
> into any of your classes that implements two methods: each and the
> comparison operator (aka spaceship) that looks like this: <=> and
> thereby automatically get cool methods like this.
>
> You can also extend any objects that support these methods with the
> Enumerable method. I often do this with win32ole objects that implements
> the (COM) IEnumerable interface and therefore have an each method.
>
> Bret
> _______________________________________________
> Wtr-general mailing list
> [email protected]
> http://rubyforge.org/mailman/listinfo/wtr-general
>
_______________________________________________
Wtr-general mailing list
[email protected]
http://rubyforge.org/mailman/listinfo/wtr-general

Reply via email to