配列のつくりかた

配列は、最も基本的なデータ構造です。Rubyの配列は、「可変長」「イテレータが簡単」などの理由で、利便性が高くなっています。


配列のプログラム内での使い方ですが、まずは配列を作成しなければなりません。一般的には、

[1, 2, 3]

と記述します。角括弧でなく丸括弧や波括弧を使う言語も多いでしょう。*1


ですが、この書き方だと、配列の要素数が増えたときに読み書きの問題が発生することは想像に難くありません。
そこで、よく使われるのが、「空の配列を作成しておいて、ループの中で要素を追加する」という方法です。前述のように直接書くよりは柔軟性がありますが、少し冗長です。


その点、Rubyでは次のように記述できます。

Array.new(3){|index| index + 1}

この式の値は、「[1, 2, 3]」となります。

まず、newメソッドの引数で配列の要素数を指定し、その数だけブロックを評価して値を生成しています。
ブロック内の変数(ここではindexと命名)は、最初の要素のときが「0」で、1ずつ増えていきます。


当然、「|index|」は省略することも可能です。

Array.new(5){ rand(10) }

この式は、0〜9までのランダムな数値が5つ格納された配列を生成します。


このように、Rubyでは一つの式で様々な配列を作成できます。
使う方が便利なら、作る方も便利というわけです。


■参考
class Array - Ruby 1.8.7 リファレンスマニュアル
http://doc.okkez.net/static/187/class/Array.html

*1:私の学生時代は、[]や{}を「大括弧」「中括弧」と呼んでいましたが、最近では「角括弧」「波括弧」というのが標準となっているようです。「大」「中」は数式における意味としての名前でしたが、「角」「波」は見た目なので、汎用的でわかりやすいというのも理由の一つでしょう。<参考:括弧 - Wikipedia