@aaltqna

Почему это происходит? Указатели?

array = [ {a:1}, {b:2} ] # [{:a=>1}, {:b=>2}]

my_variable = array.first # {:a=>1}

my_variable[:c] = 3 # 3

my_variable # {:a=>1, :c=>3}

# Но если снова получить первый элемент массива, то так? Почему?
array.first # {:a=>1, :c=>3}


Вот с таким я случайно сейчас столкнулся. Как это и почему? И как это гуглить?

Знаю по c++, что массив на деле содержит указатели или что-то такое. В ruby тоже самое получается?
  • Вопрос задан
  • 113 просмотров
Пригласить эксперта
Ответы на вопрос 1
@tin_vsl
Senior Developer
Да, в руби всё - объекты, и фактически работа с любыми значениями идёт через указатели (в основном неявно).
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы