📝

Ruby 配列に要素を追加するメソッドまとめ

2023/06/23に公開

配列に要素を追加する方法について、まず基本として学ぶのはこの書き方だと思います。

array = [1, 2, 3]
array << 4
p array  #[1, 2, 3, 4]

他にも追加・挿入ができるメソッドがありますので、使用方法をまとめていきます。

要素を追加 pushメソッド

「<<」を使用する方法と同じく、配列に追加するメソッドがpushメソッドです。
第二引数以降にも要素を定義することで、複数の要素を同時に追加できます。

array = [1, 2, 3]
array.push(4)
p array  #[1, 2, 3, 4]

# 複数追加
array = [1, 2, 3]
array.push(4, 5)
p array  #[1, 2, 3, 4, 5]

# おまけ  複数追加は「<<」でもできます
array = [1]
array << 2 << 3 << 4
p array  #[1, 2, 3, 4]

要素を先頭に挿入 unshiftメソッド

末尾ではなく、先頭に要素を挿入したい時はunshiftメソッドを使用します。

array = [1, 2, 3]
array.unshift(4)
p array  #[4, 1, 2, 3]

# 複数追加
array = [1, 2, 3]
array.unshift(4, 5)
p array  #[4, 5, 1, 2, 3]

任意の場所に挿入するなら insertメソッド

好きな場所に要素を挿入したい時はinsertメソッドを使用します。
指定方法は、配列.insert(挿入位置のindex, 挿入する要素)です。

array = [1, 2, 3]
array.insert(2, "a")
p array  #[1, 2, "a", 3]

# 挿入位置にマイナスの値を指定すると後ろから〇番目に入れてくれる
array = [1, 2, 3]
array.insert(-2, "x")
p array  #[1, 2, "x", 3]

参考

https://docs.ruby-lang.org/ja/latest/class/Array.html#I_INSERT

https://uxmilk.jp/21132

おまけ

puts print p やれることは一緒だけど微妙に違う奴ら。
https://zenn.dev/nagan/articles/ae479d26e6d2b0

Discussion