[#3109] Is divmod dangerous? — Dave Thomas <Dave@...>

14 messages 2000/06/06

[#3149] Retrieving the hostname and port in net/http — Roland Jesse <jesse@...>

Hi,

12 messages 2000/06/07

[#3222] Ruby coding standard? — Robert Feldt <feldt@...>

16 messages 2000/06/09

[#3277] Re: BUG or something? — Aleksi Niemel<aleksi.niemela@...>

> |I am new to Ruby and this brings up a question I have had

17 messages 2000/06/12
[#3281] Re: BUG or something? — Dave Thomas <Dave@...> 2000/06/12

Aleksi Niemel<aleksi.niemela@cinnober.com> writes:

[#3296] RE: about documentation — Aleksi Niemel<aleksi.niemela@...>

> I want to contribute to the ruby project in my spare time.

15 messages 2000/06/12

[#3407] Waffling between Python and Ruby — "Warren Postma" <embed@...>

I was looking at the Ruby editor/IDE for windows and was disappointed with

19 messages 2000/06/14

[#3410] Exercice: Translate into Ruby :-) — Jilani Khaldi <jilanik@...>

Hi All,

17 messages 2000/06/14

[#3415] Re: Waffling between Python and Ruby — Andrew Hunt <andy@...>

>Static typing..., hmm,...

11 messages 2000/06/14

[#3453] Re: Static Typing( Was: Waffling between Python and Ruby) — Andrew Hunt <andy@...>

32 messages 2000/06/16

[#3516] Deep copy? — Hugh Sasse Staff Elec Eng <hgs@...>

Given that I cannot overload =, how should I go about ensuring a deep

20 messages 2000/06/19

[#3694] Why it's quiet — hal9000@...

We are all busy learning the new language

26 messages 2000/06/29
[#3703] Re: Why it's quiet — "NAKAMURA, Hiroshi" <nahi@...> 2000/06/30

Hi,

[#3705] Re: Why it's quiet — matz@... (Yukihiro Matsumoto) 2000/06/30

Hi,

[ruby-talk:03118] Re: Min and max?

From: Mathieu Bouchard <matju@...>
Date: 2000-06-06 10:14:30 UTC
List: ruby-talk #3118
> Well, there's at least one point to consider with the Kernel version. Kernel
> is maybe not the right place for min since not all classes have meaningful
> comparisons. So maybe Comparable is the place (or maybe not).

I fully agree that Comparable is the right place for that. (I notice I
have an old version that doesn't support those min/max... time to upgrade)



Totally unrelated, I propose a new operation called "accum" in
Enumeration: 

[2,7,3,23,78,1,2].accum {|a,b| a.max(b)}

would return 78, the greatest element, for instance.

precondition: there is at least one element, in which case the
(degenerate) result is the element itself.

an alternate version is to provide separately with a "base" (or "seed")
value, typically the neutral element of the operation if it exists; in
that case an empty array returns the "base" value. 

more examples:

 * summing the elements in an array
 * multiplying them
 * alternating sums (using substraction as the operation)
 * factorial
 * logic: "for all ... in ... such that ..."
 * logic: "exists ... in ... such that ..."
 * compute parity, hamming code
 * one-line reimplementations of "max", "min", "member?"
 * very inefficient reimplementations of "join", "collect", "select", "reject"
 * verifying a sort

so as you see it's a very general function with a lot of uses.



Mathieu Bouchard


In This Thread