[#1026] Is this a bug? — Dave Thomas <Dave@...>
18 messages
2000/01/03
[#1053] rand() / drand48() — ts <decoux@...>
11 messages
2000/01/05
[#1055] Re: rand() / drand48()
— matz@... (Yukihiro Matsumoto)
2000/01/05
[#1061] Re: rand() / drand48()
— gotoken@... (GOTO Kentaro)
2000/01/07
Hi,
[#1067] Here docs not skipping leading spaces — Dave Thomas <Dave@...>
5 messages
2000/01/08
[#1083] YADQ (Yet Another Dumb Question) — Dave Thomas <Dave@...>
12 messages
2000/01/10
[#1084] Infinite loop — Dave Thomas <Dave@...>
17 messages
2000/01/11
[#1104] The value of while... — Dave Thomas <Dave@...>
24 messages
2000/01/11
[#1114] Re: The value of while...
— Dave Thomas <Dave@...>
2000/01/12
matz@netlab.co.jp (Yukihiro Matsumoto) writes:
[#1128] Re: The value of while... — David Suarez de Lis <excalibor@...>
Hi all,
1 message
2000/01/12
[#1133] Re: Class variables... — David Suarez de Lis <excalibor@...>
Hi there,
2 messages
2000/01/12
[#1158] Is this expected behavior? — Dave Thomas <Dave@...>
6 messages
2000/01/21
[#1172] Re: Possible bug in ruby-man-1.4 — Huayin Wang <wang@...>
> |Well, I guess it comes down to what you mean by an integer
10 messages
2000/01/24
[#1177] Re: Possible bug in ruby-man-1.4
— Dave Thomas <Dave@...>
2000/01/25
matz@netlab.co.jp (Yukihiro Matsumoto) writes:
[#1188] Enumerable and index — Dave Thomas <Dave@...>
5 messages
2000/01/27
[#1193] Semantics of chomp/chop — Dave Thomas <Dave@...>
7 messages
2000/01/28
[#1197] Question about 'open' — Dave Thomas <Dave@...>
8 messages
2000/01/30
[ruby-talk:01047] Re: Equivalent of 'inject'
From:
matz@... (Yukihiro Matsumoto)
Date:
2000-01-04 04:09:31 UTC
List:
ruby-talk #1047
Hi,
In message "[ruby-talk:01046] Equivalent of 'inject'"
on 00/01/03, Dave Thomas <Dave@thomases.com> writes:
|Now I know I'm being stupid, but I can't see a Ruby equivalent of
|operations such as Smalltalk's 'inject'. What's the clean way of (say)
|summing the elements in an array?
If I remember correctly, inject works like this, right?
array.inject(0){|n,x| n+x} # => sum of the array
If so, Ruby does not have equivalent built-in.
n = 0
for x in array
n += x
end
will do the thing you want.
In addition, you can always add the feature you want to Ruby by
yourself. With the following code, inject will be added to all
enumerable objects (Array, Hash, etc.).
module Enumerable
def inject(n)
self.each{|x| n = yield(n, x)}
return n
end
end
Hope this helps
matz.