Ruby 4.0 リファレンスマニュアル

instance method Array#slice!

slice!(nth) -> object | nil[permalink][rdoc][edit]

指定した要素を自身から取り除き、取り除いた要素を返します。取り除く要素がなければ nil を返します。

[PARAM] nth:
取り除く要素のインデックスを整数で指定します。
a = [ "a", "b", "c" ]
p a.slice!(1)   # => "b"
p a             # => ["a", "c"]
p a.slice!(-1)  # => "c"
p a             # => ["a"]
p a.slice!(100) # => nil
p a             # => ["a"]
slice!(start, len) -> Array | nil[permalink][rdoc][edit]
slice!(range) -> Array | nil

指定した部分配列を自身から取り除き、取り除いた部分配列を返します。取り除く要素がなければ nil を返します。

[PARAM] start:
削除したい部分配列の先頭のインデックスを整数で指定します。
[PARAM] len:
削除したい部分配列の長さを整数で指定します。
[PARAM] range:
削除したい配列の範囲を Range オブジェクトで指定します。
a = [ "a", "b", "c" ]
p a.slice!(1, 2)   # => ["b", "c"]
p a                # => ["a"]

a = [ "a", "b", "c" ]
p a.slice!(1, 0)   # => []
p a                # => [ "a", "b", "c" ]