On 2013-03-21 21:42, J wrote:
Intriguing, Jacob! I could learn alot about reflection by studying your
code.
How is it installed? I installing by downloading that single file, and
with a quick hack to the Reflection.d top three lines (commenting out
the module and imports at the top), I tried calling it with this, no luck:
#!/usr/bin/rdmd
import Reflection; // with module and imports commented out...
import std.stdio;
string my(int a, int b) {
writeln(a/b);
return "howdy";
}
void main(string[] arg) {
auto s = callWithNamedArguments(my, `a=3, b=4`);
}
// yields:
$ ./ref.d
./ref.d(13): Error: function ref.my (int a, int b) is not callable using
argument types ()
./ref.d(13): Error: expected 2 function arguments, not 0
It's been quite a while since I tested that code. I'll see what I can do.
--
/Jacob Carlborg