Ruby(配列)

Ruby続きです。配列は、全体を[]で囲って要素を,(カンマ)で区切れば作成できます。

irb(main):001:0> a = [10,20,30,40]
=> [10, 20, 30, 40]
irb(main):002:0> 

要素へアクセスするには、0始まりのインデックスを指定します。

irb(main):002:0> a[3]
=> 40
irb(main):003:0>

クォートで囲まれた要素であれば、文字列の配列となります。

irb(main):003:0> a = ["aaa","bbb","ccc","ddd"]
=> ["aaa", "bbb", "ccc", "ddd"]
irb(main):004:0> a[1]
=> "bbb"
irb(main):005:0>

配列の各要素には、数値でも文字列でもその他オブジェクトも格納できます。

irb(main):005:0> a = [1,"aaa",2,"bbb"]
=> [1, "aaa", 2, "bbb"]
irb(main):006:0> a[0]
=> 1
irb(main):007:0> a[1]
=> "aaa"
irb(main):008:0>

文字列の配列を作成するときに、クォートが面倒なら、%wが使えます。

irb(main):008:0> a = %w(aaa bbb ccc ddd eee)
=> ["aaa", "bbb", "ccc", "ddd", "eee"]
irb(main):009:0> a[3]
=> "ddd"
irb(main):010:0>

Perlと同じく空白を含む文字列を要素にできません。

要素のサイズを取得するには、sizeメソッドを使います。

irb(main):010:0> a.size
=> 5
irb(main):011:0>

配列から配列を取り出したいなら、スライスが使えます。
インデックスを指定して範囲取得するなら、.(ピリオド)を使い、変数名[インデックス..インデックス]、と指定します。(…でも可)

irb(main):011:0> a[1..3]
=> ["bbb", "ccc", "ddd"]
irb(main):012:0>

インデックスと、取得する要素数を指定する場合は、変数名[インデックス,要素数]と指定します。

irb(main):012:0> a[1,3]
=> ["bbb", "ccc", "ddd"]
irb(main):013:0> a[1,4]
=> ["bbb", "ccc", "ddd", "eee"]
irb(main):014:0>

Leave a Reply

Your email address will not be published. Required fields are marked *

CAPTCHA