Bye Bye Moore

PoCソルジャーな零細事業主が作業メモを残すブログ

Array#fillで新規や既存の配列を一定ルールで埋める

Array#fillで新規や既存の配列を一定ルールで埋める事ができます。

実際のところ

既存の配列に手を加える事もできます。
ただし、破壊的なメソッドなので注意してください

 [1,2,3].fill(0)
#=> [0, 0, 0]
ary = (:a..:z).to_a
ary.fill(nil, 0..10)
#=> [nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, :l, :m, :n, :o, :p, :q, :r, :s, :t, :u, :v, :w, :x, :y, :z]

fillにはブロックを渡す事もできるのでshuzo-kino.hateblo.jp
でやった内容も

[].fill(0..0xf){|i| "0x%02x" % [i ** 2]}
=> ["0x00", "0x01", "0x04", "0x09", "0x10", "0x19", "0x24", "0x31", "0x40", "0x51", "0x64", "0x79", "0x90", "0xa9", "0xc4", "0xe1"]

とできます。