Учитывая рубин 2,2ACCESSING символ метода Ruby, содержащийся в модуле
module A
def self.a
"a"
end
end
Как получить доступ к A.a
, так что я могу назначить переменную и вызвать его позже?
Я попытался следующие:
x = A::a.to_sym
send x # NoMethodError: undefined method `a' for main:Object
следующих работ:
x = -> { A.a }
x.call
Поскольку у меня есть и пространства имёны функции и не являющиеся пространства имёны функции в массиве есть способ, я могу сделать это с send
?
Я действительно не хочу загрязнять пространство имен с include A
Но что ур намерение .. почему и нужно сделать? – songyy
Ваш код выше работает для доступа к 'a', проблема заключается в том, что вы пытаетесь вызвать: a on main и этот метод там не существует – nikkypx
songyy, у меня есть список функций, которые существуют в разных пространствах имен, которые я хочу для выполнения в более позднее время. – zhon