Dynamic alter-ego of D.
Steven Schveighoffer
schveiguy at yahoo.com
Wed Oct 26 07:26:17 PDT 2011
On Wed, 26 Oct 2011 10:15:33 -0400, Gor Gyolchanyan
<gor.f.gyolchanyan at gmail.com> wrote:
> 1. opDispatch is no good for overloading when the set of methods are
> defined at run-time.
For those cases, you must use the runtime interface that opDispatch will
use directly. D does not have a way to call a function by string at
runtime.
call("functionName", arg1, arg2, arg3)
opDispatch simply provides a way to write cleaner code when you know the
name of the function.
Even in dynamic languages, it's uncommon to call functions based on
runtime strings.
> 2. opDIspatch doesn't cover operators (why?).
operators are not function symbols, and are already covered by templates.
It should be as simple as:
opBinary(string s, T...)(T args) if(isValidOperator!s)
{
call(s, args);
}
-Steve
More information about the Digitalmars-d
mailing list