Я бы хотел добавить элемент в массив, но без фактически не изменив этот массив и вместо этого он вернул новый. Другими словами, я хочу избежать:
arr = [1,2] arr << 3
Что вернет:
[1,2,3]
Изменение самого обр. Как я могу избежать этого и создать новый массив?
Вы можете легко добавить два массива в Ruby с помощью оператора plus. Итак, просто сделайте массив из вашего элемента.
plus
arr = [1, 2] puts arr + [3] # => [1, 2, 3] puts arr # => [1, 2]
это также работает, расширяя arr используя * operator
arr = [1,2] puts [*arr, 3] => [1, 2, 3]