Рубин: извлечь все элементы объекта - PullRequest
1 голос
/ 10 августа 2011

Как извлечь все члены (методы, переменные, константы, объекты и т. Д.) Произвольного объекта и передать их в блок?

def inside(obj)
  #pass all the members of the object to the block
end

inside myLink do
  url = "myurl.com"
end

1 Ответ

2 голосов
/ 10 августа 2011

Вы можете использовать instance_eval:

def inside obj, &block
  obj.instance_eval &block
end

Вам все равно придется использовать self:

inside myLink do
   self.url = "myurl.com"
   # or:
   @url = "myurl.com"
end
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...