Rubyのお勉強(その3)
14) Array クラス
- Array.new
Array.new #=> [] Array.new(5) #=> [nil, nil, nil, nil, nil] Array.new(5,0) #=> [0, 0, 0, 0, 0] Array.new(3){[0, 0, 0]} #=> [[0, 0, 0], [0, 0, 0], [0, 0, 0]] Array.new(5){|i| i+1} #=> [1, 2, 3, 4, 5]
- インデックス参照は3通り
インデックスのマイナス値は配列末尾からのカウント
a[n]
a[n..m] or a[n...m]
a[n, len]
- 要素数0の入れ替えで、挿入処理ができる
a = ["a", "b", "c", "d", "e", "f"] a[2, 0] = ["X", "Y"] p a #=> ["a", "b", "X", "Y", "c", "d", "e", "f"]
- 集合としての配列
Array同士の共通集合、和集合、集合の差が定義されている
array = array1 & array2 # 共通集合 array = array1 | array2 # 和集合 array = array1 - array2 # 集合の差 array = array1 + array2 # 単純結合 (同一要素の重複を許す)
- 列としての配列
Rubyの配列は、スタックやキューにもなる(なんと便利!)
先頭要素に対する操作 | 末尾要素に対する操作 | |
---|---|---|
要素を加える | unshift | push |
要素を取り除く | shift | pop |
要素を参照する | first | last |
a << item は a.push(item)と同義
a.concat(b) は a + b の破壊的メソッド