develooper Front page | perl.perl6.language | Postings from June 2005

Re: proposal: 404 method

Thread Previous | Thread Next
From:
Fagyal Csongor
Date:
June 20, 2005 08:29
Subject:
Re: proposal: 404 method
Message ID:
42B6E00B.30807@conceptonline.hu
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
>



Thread Previous | Thread Next


nntp.perl.org: Perl Programming lists via nntp and http.
Comments to Ask Bjørn Hansen at ask@perl.org | Group listing | About