creating array

H

Haris Bogdanoviæ

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
 
F

Fleck Jean-Julien

Hello
By short I mean without going through iteration loop:

array=3D[]
(1..5).each do |i|
=A0 =A0array.push i*10
end

Would you be pleased with something like this ?
=3D> [10, 20, 30, 40, 50]

Cheers,

--=20
JJ Fleck
PCSI1 Lyc=E9e Kl=E9ber
 
M

Marvin Gülker

Haris said:
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.new[1]:

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

[1]: http://www.ruby-doc.org/ruby-1.9/classes/Array.html#M000684
 
S

Sebastian Hungerecker

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

(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
 
D

David A. Black

Hi --

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

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

--
David A. Black
Senior Developer, Cyrus Innovation Inc.
THE COMPLEAT RUBYIST, Ruby training with Black/Brown/McAnally!
January 22-23, Tampa, Florida
Info and registration at http://www.thecompleatrubyist.com
 
R

Robert Klemme

2009/12/28 David A. Black said:
Hi --

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=3D[]
(1..5).each do |i|
=A0 array.push i*10
end

In 1.8.6 you can do:

=A0array =3D (1..5).map {|i| i * 10 }

and in 1.9 you can do:

=A010.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.

:)

Kind regards

robert

--=20
remember.guy do |as, often| as.you_can - without end
http://blog.rubybestpractices.com/
 
W

William James

David said:
Hi --

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

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

irb(main):001:0> 10.step(50,10).to_a
=> [10, 20, 30, 40, 50]
irb(main):002:0> RUBY_VERSION
=> "1.8.7"

--
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Members online

No members online now.

Forum statistics

Threads
473,755
Messages
2,569,536
Members
45,012
Latest member
RoxanneDzm

Latest Threads

Top