Thomas Sondergaard (tho...@FirstNameGoesHereSondergaard.com)
Sep 4, 2003 8:46:09 am
Yes, but I think we need to wait for a while to make a transition.
So can you wait for a moment, probably until 1.8.1?
By the way, you may have problems also for constant name conflict.
Foo1 = 42
Is it OK for you?
Strictly speaking this is a problem for me, but not something that is likely
to cause too many problems in the real world.
As I see it const_missing and method_missing are called too late to serve
their purpose correctly. They should be called before looking in parent
scopes. The way it works now is probably a pragmatic (in the generic sense)
trade off, that avoids trading too much performance for a niche feature.
Maybe the real solution is to introduce a new built-in object, say,
DynamicObject that invokes the *_missing methods earlier in the resolution
sequence. This would require that method invocation and constant lookup
suffered one extra layer of indirection, but it could be implemented in C
and probably wouldn't make a noticable performance difference. Or maybe this
"dynamicity" property could just be a flag on the class, I dunno.
This is just me thinking out loud. You are the language expert, I am just a