Array#delete ; Ruby

Array#delete

  • 引数
    • 削除したい要素
  • 返り値
    • 削除したい要素があればその値
    • なければnil
ex.
a = [0, 1, 2, 3, 4, 5]
a.delete(3) #=> 3
p a #=> [0, 1, 2, 4, 5]

オブジェクト自体を破壊的に変更したくないが

要素を削除したオブジェクトを得たいときは reject を使うのが無難

Array#reject

ex.
a = [0, 1, 2, 3, 4, 5]
mele = a.rejct{ |elem| elem == 3 }
p mele #=> [0, 1, 2, 4, 5]
p a #=> [0, 1, 2, 3 , 4, 5]

deleteは ! が無いのに破壊的になっているのは歴史的経緯と踏むべきか


参考元 # お世話になります

delete (Array) - Rubyリファレンス