#Ruby初学者向け
###配列の要素に対する3つの削除の仕方
例にする配列はこちら↓
array = [1, 2, 3, 1, 2, 3]
####1:deleteメソッド
array = [1, 2, 3, 1, 2, 3]
array.delete(2)
puts array
# 出力結果=[1, 3, 1, 3]
deleteメソッドは、
引数にした値(例では2)と完全一致した要素のみを削除して配列を返します。
####2:delete_atメソッド
array = [1, 2, 3, 1, 2, 3]
array.delete_at(3)
puts array
# 出力結果=[1, 2, 3, 2, 3]
delete_atメソッドは、
引数に指定したインデックス番号の要素を削除して配列を返します。
インデックス番号とは
配列の要素割り振る番号のこと。
最初が1ではなく、0からはじまることに注意
参考
Let'sプログラミング
####3:delete_ifメソッド
array = [1, 2, 3, 1, 2, 3]
#奇数の要素を削除した配列を返す
array.delete_if do |n|
n.odd?
end
# 出力結果=[2, 2]
delete_ifメソッドは配列の削除する条件を自由に設定することができます。
例では奇数の値を全て削除しています。
他にも偶数を削除したり、3で割り切れる値を削除したりなど設定可能です。
do~endの部分はブロックといい、ここでは配列Arrayから1つずつ順番に要素を取り出し、do~end内の処理を繰り返し実行しています。
##おわりに
Ruby on Railsの学習もいいけど、Rubyの基礎ってとても大事だな感じる今日この頃。基礎すぎるかもしれないけど少しずつアウトプットしていきます。
誤った記述等ございましたらご教授いただけると幸いです。