Fully dynamic d by opDotExp overloading
Christopher Wright
dhasenan at gmail.com
Sat Apr 18 16:21:19 PDT 2009
bearophile wrote:
> Andrei Alexandrescu:
>> Yes. The amount of confusion in this thread is staggering.
>
> I think I have misunderstood about the whole thread then. If the string isn't determined at run time, then this thing isn't useful for my purposes, and it's not close to the object-C as I was talking about, and it's not similar to __getattr__ of Python, etc.
>
> Bye,
> bearophile
There are two issues here:
- The ability to invoke a method where you did not explicitly create a
method with that name.
- A standardized way of looking up a method to invoke based on a
string, where that string may be created at runtime. You can already do
this, but there's no standard interface for it. If there were an
interface somewhere, like IDispatch { Variant invoke(string, ...); },
that would be nice. Though it doesn't work with structs.
In the former case, the method will not exist unless you call it -- for
example, swizzling. This is powerful; it means you can use templates to
generate the function body.
The latter case doesn't give you very much. I'd like to see it in the
standard library, but it wouldn't be called before issuing a
MethodMissingException or the like because it isn't applicable.
More information about the Digitalmars-d
mailing list