beerdy
@beerdy
https://vk.com/beerdy

Указатели в ruby — как это работает?

class Test1
 def init
  array = [VERY, BIG, ARRAY]
  Test2.new(array).reread
 end
end
class Test2
 def initialize(array)
  @array = array # ????
 end


Как оперировать большими массивами, к примеру считанными из БД при помощи указателей в RUBY ?
Или сам RUBY оперирует указателями в памяти на объекты и ничего не нужно делать т.е. мой вариант инстансной переменной вполне себе сгодиться?

Знаю что есть такой вариант
class Test2
 def initialize(options)
  options[:array]
 end
end

Но как в таком варианте вынести за область метода инициализации наш массив?
Если сделать так @options = options[:array] то это опять переинициализация и как я понимаю массив будет перезаписан в новую объект -переменную?
  • Вопрос задан
  • 1582 просмотра
Решения вопроса 1
@vsuhachev
В руби нет указателей. Все переменные это ссылки на объекты в общей памяти. Повызывайте функцию object_id у объектов, чтобы поглядеть на что ссылается та или иная переменная
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

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

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