Класс доступа модуля переменные внутри класса в Ruby

у меня есть модуль с переменной класса в нем

module Abc
  @@variable = "huhu"

  def self.get_variable
    @@variable
  end

  class Hello
    def hola
      puts Abc.get_variable
    end
  end
end

a = Abc::Hello.new
a.hola

можно сделать @@variable внутри Hello без использования get_variable способ? Я имею в виду что-то вроде Abc.variable было бы неплохо. Просто любопытно.

2 ответов


вы не можете получить доступ @@variable напрямую (т. е. Abc.variable) в объеме Hello класс в модуле Abc. Почему? Потому что, когда интерпретатор Ruby видит что-то вроде Abc.variable он будет думать variable как метод класса / модуля Abc.

важно думать, как Ruby при программировании в Ruby.


попробуй такое

Abc.class_variable_get(:variable)