1
如何提取任意对象的所有成员(方法,变量,常量,对象等)并将它们传递给块?Ruby:提取对象的所有成员
def inside(obj)
#pass all the members of the object to the block
end
inside myLink do
url = "myurl.com"
end
如何提取任意对象的所有成员(方法,变量,常量,对象等)并将它们传递给块?Ruby:提取对象的所有成员
def inside(obj)
#pass all the members of the object to the block
end
inside myLink do
url = "myurl.com"
end
您可以使用instance_eval的:
def inside obj, &block
obj.instance_eval &block
end
你仍然需要使用,虽然自:
inside myLink do
self.url = "myurl.com"
# or:
@url = "myurl.com"
end
嗯,我仍然不知道是否有可能使我提出的语法我的OP。 – themirror
不在Ruby中,OP中的代码将创建一个名为“url”的本地变量,并为其分配“myurl.com”。它不会影响传入对象的实例变量@url。 – robbrit