matt neuburg wrote:
can even chain these tests:
with system.temp, system.startup {
string(license)
}That means we try system.temp.license and if that doesn’t exist we
proceed to system.startup.license.So my question is: is Ruby amenable to this kind of construction? Is
there a way to bend the language to that it acts like this? Thx - m.
Something like this?
def with(*objects)
begin
yield
rescue NoMethodError => exception
o = objects.detect { |_o|
_o.respond_to? exception.name
} or raise
o.send exception.name, *exception.args
end
end
m = with(Time) do
“aaa”.now
end
p m
Fri Oct 27 10:57:44 PDT 2006