András,
I think you have just discovered AUTOLOAD :-)
OTOH I don't know how the AUTOLOAD mechanism will work in Perl6 compared
to Perl5, or if it has been imlemented in Pugs (yet), but as far as I
remember, in Apocalypse 12 somewhere it says it will work the same(?) as
in Perl5, and what you have described works in Perl5 (if I understood
you correctly, which might not be the case).
- Fagzal
Hi,
Is there a way, to catch, if I call a method, that doesn't exists, to
run a default one? I'm thinking about an "error handler" method. If
not, I would like to propose this:
class MyClass {
method example ($self: $var) {
say "HELLO";
}
method default ($self: $method_name, %parameters)
is method_not_found {
say "$method_name called";
}
}
$mc = new MyClass;
$mc.example("var")
$mc.helloworld("var", "var");
----------------------
and it outputs:
HELLO
helloworld called
The above is maybe not the best (and not the most valid) syntax for my
proposal, but I think you can get the idea. It would be very useful
the hide parameters into the method name, like this:
save_the_world();
save_the_captain();
And the default method will match the method name with
/^save_the_(.*)$/, and saves $1.
I hope, you will like it. As I know, it's not possible currently.
Bye,
Andras