[lnkForumImage]
TotalShareware - Download Free Software

Confronta i prezzi di migliaia di prodotti.
Asp Forum
 Home | Login | Register | Search 


 

Forums >

comp.lang.ruby

Array Building idiom

John-Mason P. Shackelford

8/10/2006 7:23:00 PM

What other idioms do you use for:

a=[]; 10.times{a<<callme() }
Array.new(10).map{ callme() }

Note: callme() returns a new value with each call.

Do I understand correctly that the former will be illegal under 1.9.1?
--
John-Mason Shackelford

Software Developer
Pearson Educational Measurement

2510 North Dodge St.
Iowa City, IA 52245
ph. 319-354-9200x6214
john-mason.shackelford@pearson.com
http://pearsonedmeasu...

1 Answer

Martin DeMello

8/10/2006 7:46:00 PM

0

On 8/11/06, John-Mason P. Shackelford <jpshack@gmail.com> wrote:
> What other idioms do you use for:
>
> a=[]; 10.times{a<<callme() }
> Array.new(10).map{ callme() }
>
> Note: callme() returns a new value with each call.
>
> Do I understand correctly that the former will be illegal under 1.9.1?

Illegal on what basis? Also, Array.new takes a block while
constructing the array, so you needn't use map:

irb> Array.new(10, rand(100))
=> [1, 1, 1, 1, 1, 1, 1, 1, 1, 1]

irb> Array.new(10) { rand(100) }
=> [74, 59, 97, 59, 65, 12, 64, 16, 2, 59]

martin