Hatena::Grouprubyist

いつかはRails(笑) このページをアンテナに追加 RSSフィード

2009-05-20配列の初期化

配列の初期化

15:51 | 配列の初期化 - いつかはRails(笑) を含むブックマーク はてなブックマーク - 配列の初期化 - いつかはRails(笑) 配列の初期化 - いつかはRails(笑) のブックマークコメント

Array.new([size[, val)

なので、

arry = Array.new(10000,0)

と書けばよかっただけだったらしい。

valueを省略するとnilで初期化される、ということでした。

htzhtz2009/05/21 12:31こんな感じでどうでしょうか?
Rubyの場合、こういうループでwhileを使うことは少ないと思いますので
レンジを使ったループやイテレータ、Integer#step/upto/downto系を覚えておくと
非常に便利だと思いますよ。
max = 1000
array = Array.new(max, 0)
array[0..1] = [-1, -1]

(2...Math::sqrt(max).to_i).each do |i|
(i * 2).step(max - 1, i) do |j|
array[j] = -1
end
end

array.each_index do |i|
puts i if array[i] != -1
end

delta16vdelta16v2009/05/22 23:27なるほど。
最初はBASICっぽくfor~endで書こうとしたのですが、カウンタを+=2でアップさせたかったので、while~endに書き直したのでした。
御教示頂いた方法のコードを研究してみます。
ありがとうございました。

JaliaJalia2012/10/16 10:30Dude, right on there bortehr.

evoccibevoccib2012/10/16 22:06y5ThiO <a href="http://otfagtkrsive.com/">otfagtkrsive</a>

khnrnycreyzkhnrnycreyz2012/10/20 01:54qdNtHQ <a href="http://ttiwdvfaxkyc.com/">ttiwdvfaxkyc</a>

yrtrsgqpkgyrtrsgqpkg2012/10/20 22:23Rluz3T , [url=http://hpcuwpwairem.com/]hpcuwpwairem[/url], [link=http://pahgmzhyxorm.com/]pahgmzhyxorm[/link], http://lxmomowagtqa.com/