Ruby 配列をコピーする

  • 作成日 2021.01.24
  • 更新日 2022.08.13
  • Ruby
Ruby 配列をコピーする

Rubyで、dupを使って、配列をコピーするサンプルコードを記述してます。rubyのバージョンは2.7.2を使用してます。

環境

  • OS windows10 pro 64bit
  • ruby 2.7.2p137

dup使い方

dupを使用すると、配列をコピーすることが可能です。

[配列].dup

以下は、配列をコピーして表示するサンプルコードとなります。

arr1=[1, 2, 3]

arr2 = arr1.dup

p arr2
# [1, 2, 3]

arr2[0] = 0

p arr2
# [0, 2, 3]

p arr1
# [1, 2, 3] ← arr1 値は変わらない

「arr2 = arr1」の参照渡し(浅いコピー)でコピーした場合は、コピー元の値を変わります。

arr1=[1, 2, 3]

arr2 = arr1

p arr2
# [1, 2, 3]

arr2[0] = 0

p arr2
# [0, 2, 3]

p arr1
# [0, 2, 3]