web-dev-qa-db-ja.com

要素をRuby配列に追加し、新しい配列を返します

配列に要素を追加したいのですがwithoutは実際にその配列を変更し、代わりに新しい配列を返します。言い換えれば、私は避けたい:

arr = [1,2]
arr << 3

どちらが返されますか:

[1,2,3]

変更自体。これを回避して新しいアレイを作成するにはどうすればよいですか?

36
srchulo

Rubyでplus演算子を使用して2つの配列を簡単に追加できます。そのため、要素から配列を作成するだけです。

arr = [1, 2]
puts arr + [3]
# => [1, 2, 3]
puts arr
# => [1, 2]
48

*演算子を使用してarrを拡張することでも機能します

arr = [1,2]
puts [*arr, 3]
=> [1, 2, 3]
8