要素の値を指定して削除する
deleteメソッドを使用することで、引数の値と一致する要素だけを削除することができる。
a = [1,3,5,6,1,7]
a.delete(1)
a
=> [3, 5, 6, 7]
添え字から削除する
delete_atメソッドを使用することで、特定の位置にある要素だけを削除することができる。
a = [1,3,5,6,1,7]
a.delete_at(0)
=> 1
a
=> [3, 5, 6, 1, 7]
繰り返し処理を行い、条件に当てはまるものを削除する
delete_ifメソッドを使用することで、配列の要素を1つずつ取り出し、条件に当てはまるものだけを削除することができる。
例えば、配列の中から、偶数の要素を削除するコードは以下のようになる。
a = [2,3,6,3,2,8,9]
a.delete_if do |n|
n.even?
end
=> [3, 3, 9]
処理の流れとしては、配列の要素を1つずつ取り出し、ブロック変数nに渡す。
n.even?の戻り値が真である場合(つまりnに偶数が入っている場合)に、要素を削除するという流れになっている。