Я знаю, как устанавливать методы класса, но как я могу установить методы экземпляра на лету?
- Я задал предыдущий вопрос о методах класса, но я действительно хочу понять, как это сделать, например, для методов экземпляра. Спасибо! знак равно
Код ниже устанавливает методы класса для данного массива:
class Testing
V4_RELATIONSHIP_TYPES=[1=>2,3=>4]
V4_RELATIONSHIP_TYPES.keys.each do |key|
self.class.send(:define_method, "get_#{key}_type".downcase) do
return GuidInfo.get_or_new(PARAMS, V4_RELATIONSHIP_TYPES[key])
end
end
end
#so i can call Testing.get_1_key()
Вопрос: как я могу получить тот же набор методов для экземпляра?
2 ответа
Решение
class Testing
V4_RELATIONSHIP_TYPES = { 1 => 2, 3 => 4 }
V4_RELATIONSHIP_TYPES.each do |key, value|
define_method("get_#{key}_type".downcase) do
return GuidInfo.get_or_new(PARAMS, value)
end
end
end
# Now you can call Testing.new.get_1_key