Задать вопрос
@Castiel

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

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

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


но так не работает) как сделать сделать?
  • Вопрос задан
  • 144 просмотра
Подписаться 1 Оценить Комментировать
Помогут разобраться в теме Все курсы
  • Thinknetica
    Профессиональная разработка на Ruby on Rails
    9 месяцев
    Далее
  • Хороший программист
    Интенсив по Ruby on Rails
    5 месяцев
    Далее
  • Thinknetica
    Оптимизация Ruby/Rails-приложений
    9 недель
    Далее
Решения вопроса 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
Ответ написан
Комментировать
Ваш ответ на вопрос

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

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