[#1263] Draft of the updated Ruby FAQ — Dave Thomas <Dave@...>

33 messages 2000/02/08

[#1376] Re: Scripting versus programming — Andrew Hunt <andy@...>

Conrad writes:

13 messages 2000/02/15

[#1508] Ruby/GTK and the mainloop — Ian Main <imain@...>

17 messages 2000/02/19
[#1544] Re: Ruby/GTK and the mainloop — Yasushi Shoji <yashi@...> 2000/02/23

Hello Ian,

[#1550] Re: Ruby/GTK and the mainloop — Ian Main <imain@...> 2000/02/23

On Wed, Feb 23, 2000 at 02:56:10AM -0500, Yasushi Shoji wrote:

[#1516] Ruby: PLEASE use comp.lang.misc for all Ruby programming/technical questions/discussions!!!! — "Conrad Schneiker" <schneiker@...>

((FYI: This was sent to the Ruby mail list.))

10 messages 2000/02/19

[#1569] Re: Ruby: constructors, new and initialise — Yukihiro Matsumoto <matz@...>

The following message is a courtesy copy of an article

12 messages 2000/02/25

[ruby-talk:01382] Re: nice sample for functional stuff

From: gotoken@... (GOTO Kentaro)
Date: 2000-02-15 13:34:45 UTC
List: ruby-talk #1382
Hi,

In message "[ruby-talk:01378] Re: nice sample for functional stuff"
    on 00/02/15, Pixel <pixel_@mandrakesoft.com> writes:
>> >       def sum
>> >         inject(0) {|n, i| n += i }
>                                ^^ why ??
>
>        inject(0) {|n, i| n + i }
>
>seems enough to me, uh?

Yes. You are right. 

>uh? your solution gives ([].sum == nil), tis still not the best. mine has the
>same problem
>
>l = [1]
>l.sum + 1 #=> 2
>
>l.shift
>l.sum + 1 #=> Exception
>
>-> [].sum should raise an exception

Well, I didn't expect that the vaule of sum is a numeric then.  If I
would expect a integer, I specifies explicitly:

  l.sum.to_i + 1

This is very clear for me. But the following may be liked:

  def sum(value_for_empty = 0)
    inject(value_for_empty){|n,i| n+i}
  end

  [].sum + 1          #=> 1
  [].sum(0) + 1       #=> 1
  [].sum([]) + "tail" #=> ["tail"]
  [].sum("") + "tail" #=> "tail"

I can't choose better one though.  All I can say is I rather *like*
explicit conversion style.

>(perl has no such problem as "" is 0 is undef is ... :)

I believe I understand what you say, but sometimes such an implicit
conversion makes a bug which is not easy to find (at least for me).
It is one of favorite points, that is, Ruby's variable is type free
but Ruby does not do type conversion unless a user specify that.

Thanks,

-- gotoken

In This Thread

Prev Next