📝

Ruby 配列から要素を削除するメソッドまとめ

2023/06/27に公開

今日は配列から要素を削除するメソッドをまとめていきます。
以前作成した記事、Ruby 配列に要素を追加するメソッドまとめと対になるような内容です。

配列の先頭の要素を取り除く shiftメソッド

逆に要素を先頭に挿入するのはunshiftメソッドです。
shiftメソッドを配列に使用すると、返り値は取り除かれた先頭の要素になります。また引数で先頭から何要素取り除くのか指定できます。

# 基本構文
配列.shift(n)

# 例
irb(main):013:0> array= ["a", "b", "c", "d", "e"]
=> ["a", "b", "c", "d", "e"]
irb(main):014:0> s = array.shift
=> "a"
irb(main):015:0> s
=> "a"
irb(main):016:0> array
=> ["b", "c", "d", "e"]

# 例2 引数を指定した場合
irb(main):017:0> array= ["a", "b", "c", "d", "e"]
=> ["a", "b", "c", "d", "e"]
irb(main):018:0> s = array.shift(2)
=> ["a", "b"]
irb(main):019:0> s
=> ["a", "b"]
irb(main):020:0> array
=> ["c", "d", "e"]

配列の末尾の要素を取り除く popメソッド

popメソッドの使い方はshiftメソッドと一緒です。
popメソッドを配列に使用すると、返り値は取り除かれた末尾の要素となり、引数で取り除く要素数を指定できます。

# 基本構文
配列.pop(n)

# 例
irb(main):021:0> array= ["a", "b", "c", "d", "e"]
=> ["a", "b", "c", "d", "e"]
irb(main):022:0> s = array.pop
=> "e"
irb(main):023:0> s
=> "e"
irb(main):024:0> array
=> ["a", "b", "c", "d"]

# 例2 引数を指定した場合
irb(main):027:0> array= ["a", "b", "c", "d", "e"]
=> ["a", "b", "c", "d", "e"]
irb(main):028:0> s = array.pop(2)
=> ["d", "e"]
irb(main):029:0> s
=> ["d", "e"]
irb(main):030:0> array
=> ["a", "b", "c"]

参考

https://docs.ruby-lang.org/ja/latest/method/Array/i/shift.html

https://docs.ruby-lang.org/ja/latest/method/Array/i/pop.html

Discussion