@Castiel

Как правильно сделать?

надо вызвать к примеру Magick::SouthEastGravity, но через значение переменной, то есть

@@name = "SouthEastGravity"
Magick::@@name


но так не работает) как сделать сделать?
  • Вопрос задан
  • 144 просмотра
Решения вопроса 1
viktorvsk
@viktorvsk
Очень странный подход - Вы стараетесь использовать переменную класса в модуле, лучше расскажите о задаче и попробуем найти нормальное решение.
А вообще как-то так:
module Magick
  @@name = "SouthEastGravity"
end

class MagickNameGetter
  include Magick
  def self.name
    @@name
  end
end

MagickNameGetter.name
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
droff
@droff
module Magic
  def self.const_missing(name)
    const_set(name, name)
  end
end

puts Magic::Hello # Hello
puts Magic::World # World
Ответ написан
Комментировать
Ваш ответ на вопрос

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

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