Задать вопрос
@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 тоже самое получается?
  • Вопрос задан
  • 123 просмотра
Подписаться 1 Простой 2 комментария
Помогут разобраться в теме Все курсы
  • Thinknetica
    Профессиональная разработка на Ruby on Rails
    9 месяцев
    Далее
  • Хороший программист
    Интенсив по Ruby on Rails
    5 месяцев
    Далее
  • Thinknetica
    Оптимизация Ruby/Rails-приложений
    9 недель
    Далее
Пригласить эксперта
Ответы на вопрос 1
@tin_vsl
Senior Developer
Да, в руби всё - объекты, и фактически работа с любыми значениями идёт через указатели (в основном неявно).
Ответ написан
Ваш ответ на вопрос

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

Похожие вопросы