を要素に追加したいのですが、は実際にその配列を変更せず、代わりに新しい配列を返します。言い換えれば、私は避けたい:ルビ配列に要素を追加する
返しますarr = [1,2]
arr << 3
:
[1,2,3]
自体ARR変更します。これを回避して新しい配列を作成するにはどうすればよいですか?
を要素に追加したいのですが、は実際にその配列を変更せず、代わりに新しい配列を返します。言い換えれば、私は避けたい:ルビ配列に要素を追加する
返しますarr = [1,2]
arr << 3
:
[1,2,3]
自体ARR変更します。これを回避して新しい配列を作成するにはどうすればよいですか?
plus
演算子を使用してRubyに2つの配列を簡単に追加できます。だから、あなたの要素から配列を作るだけです。
arr = [1, 2]
puts arr + [3]
# => [1, 2, 3]
puts arr
# => [1, 2]
完璧を使用してARR拡張することによって動作します。ありがとう! – srchulo
元の配列に影響する配列に項目を追加する方法がないのはなぜですか? – gitb
@gitb配列#+メソッドはこれを行います。 plus演算子の左辺と右辺から新しい配列を作成し、新しい配列を返します。両方のオペランドは変更されません。 – rodamn