配列操作

配列だけでなく、HashStringにも一部同様の操作がある。

Array#unshift(val): 先頭にvalを追加する。
Array#shift(): 先頭の値を取り出す。破壊的メソッド
Array#first(): 先頭の値を参照する。
Array#push(val): 語尾にvalを追加する。
Array#pop(): 語尾の値を取り出す。破壊敵メソッド
Array#last(): 語尾の値を参照する。

Array#include?(val): 配列にvalが存在しているか確認する。 
                     存在->true, 存在しない->false

Array#delete_at(idx): idx番目の要素を削除する。破壊敵メソッド
Array#delete_if{|item| 条件式 }: 配列の全要素について、
                                 条件式に真のものを削除する。破壊敵メソッド
Array#uniq!(): 重複要素を削除。破壊敵メソッド
Array#map!(|item| 要素に対する操作}: 配列の全要素について、
                                     ブロック式の演算結果に置き換える。
                                     破壊敵メソッド
                                             例1)
                                             ary = [1,2,3,4,5,6,7,8,9,10]
                                             ary.map!{|item|
                                                 item = item * 2
                                             }
                                             puts ary

                                             例2)
                                             ary = [1,2,3,4,5,6,7,8,9,10]
                                             ary.map!{|item|
                                             	if item % 2 == 0
                                             		item = '偶数'
                                             	else
                                             		item = '奇数'
                                             	end
                                             }
                                             puts ary

Array#fill(val, st_idx, cnt): st_idx番目からcnt個までをvalに置き換える。
                          破壊敵メソッド  st_idxとcntは st_idx..ed_idxでも可



※配列の初期化いろいろ
ary = Array.new()     #=> []
ary = Array.new(3)    #=> [nil,nil,nil]
ary = Array.new(3,0)  #=> [0,0,0]
ary = Array.new(3){Array.new(2)}  #=>[[nil,nil],[nil,nil],[nil,nil]]