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 の破壊的メソッド