Creating array

Hi.

Is there a short way of creating array of numbers
with, for example, step of 10, like this:

10,20,30,40,50

By short I mean without going through iteration loop:

array=[]
(1…5).each do |i|
array.push i*10
end

Thanks
Haris

Haris Bogdanovi� wrote:

Hi.

Is there a short way of creating array of numbers
with, for example, step of 10, like this:

10,20,30,40,50

By short I mean without going through iteration loop:

array=[]
(1…5).each do |i|
array.push i*10
end

Thanks
Haris

Take a look at Array.new1:

irb(main):001:0> Array.new(5){|i| i * 10}
=> [0, 10, 20, 30, 40]

With a little bit of math you should be able to get your desired result.

Marvin

Hello

By short I mean without going through iteration loop:

array=[]
(1…5).each do |i|
array.push i*10
end

Would you be pleased with something like this ?

array = (1…5).collect {|i| i*10}
=> [10, 20, 30, 40, 50]

Cheers,

On 28.12.2009 12:25, Haris Bogdanoviæ wrote:

end

(1…5).map do |i|
i*10
end

This still has an explicit loop (or at least as explicit a loop as yours
does), but is somewhat more concise.

On 1.8.7+ you can also do 10.step(50,10).to_a.

HTH,
Sebastian

Hi –

On Mon, 28 Dec 2009, Haris Bogdanovi? wrote:

(1…5).each do |i|
array.push i*10
end

In 1.8.6 you can do:

array = (1…5).map {|i| i * 10 }

and in 1.9 you can do:

10.step(50,10).to_a

I can never keep track of which side of the fence 1.8.7 falls on, but
you can try both.

David

On Mon, Dec 28, 2009 at 12:25 PM, Haris Bogdanović [email protected]
wrote:

Is there a short way of creating array of numbers
with, for example, step of 10, like this:

tens = Array.new(5) { |i| i*10 }
=> [0, 10, 20, 30, 40]

2009/12/28 David A. Black [email protected]:

and in 1.9 you can do:

10.step(50,10).to_a

In fact, the #to_a might be completely superfluous depending on that
the OP wants to do with this.

I can never keep track of which side of the fence 1.8.7 falls on, but
you can try both.

:slight_smile:

Kind regards

robert

Haris Bogdanovi� wrote:

Hi.

Is there a short way of creating array of numbers
with, for example, step of 10, like this:

10,20,30,40,50

(10…50).step(10).to_a