dynamic classes and duck typing
KennyTM~
kennytm at gmail.com
Sat Nov 28 07:14:52 PST 2009
On Nov 28, 09 22:00, bearophile wrote:
> Walter Bright:
>> and then s.foo(3), if foo is not a compile time member of s, is
>> rewritten as:
>> s.opDynamic!("foo")(3);
>
> I don't understand, isn't this the right translation?
> s.opDynamic("foo", 3);
> If the "foo" name is known at compile time only (as in all C# examples and in Python) you can't use a template argument.
> (And then it becomes useful to have associative arrays that are fast when the number of keys is small,< 10).
>
> Bye,
> bearophile
Probably because you can write
Variant myOpReallyDynamic(string name, Variant[] s...) {
...
}
Variant opDynamic(string name)(Variant[] s...) {
return myOpReallyDynamic(name, s);
}
but not the other way round.
More information about the Digitalmars-d
mailing list