[#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:03072] Re: FailureClass?

From: Dave Thomas <Dave@...>
Date: 2000-06-01 17:08:28 UTC
List: ruby-talk #3072
Aleksi Niemel<aleksi.niemela@cinnober.com> writes:

>   /* is*-routines return boolean (that is 0 or 1), 
>      and we want to print "ok" if at least four of the tests passes */
>   if( isPerfect() + isBeautiful() + isWonderful() + 
>       isNotTooBad() + isEasy() + isOhInRuby() > 6-2 ){
>       printf("ok");
>   }

In C, non-zero is true, so you'd better be really sure of your
predicate routines for this to work!

> One can accomplish equivalent functionality with
> 
> if [isPerfect, isBeautiful, isWonderful, 
>     isNotTooBad, isEasy, isOhInRuby].filter{
>   |x| nil if x == true; x}.compact!.length <= 2
>   print "ok"
> end
> 
> But I'm sure someone else agrees it's quite a bit harder and uglier (while
> I'm not saying C-version isn't ugly :).

True, but this version

 if [isPerfect,   isBeautiful, isWonderful, 
     isNotTooBad, isEasy,      isOhInRuby].select{|x| x}.size <= 2
   puts "ok"
 end

Seems tidier than the C, and more flexible. It also honors the
language's definition of true and false, which the C version doesn't.



Dave

In This Thread

Prev Next