in reply to Re: Near-free function currying in Perl
in thread Near-free function currying in Perl
# deep inside the framework &$logger("frobnication successful");
Tom's problem is that his log_to_handle() function is expecting several arguments including a filehandle and so he can't reuse in the framework. He would need it to be
# deep inside the framework &$logger($LOGHANDLE, "frobnication successful");
Currying allows Tom to take log_to_handle and turn it into a function that already knows what handle to use and only needs a single argument. One way to do that is
and then pass $logger into the framework. Of course that's a lot more typing than we'd like so with AutoCurry you can just domy $logger = sub { my $msg = shift; log_to_handle($MYHANDLE, $msg); };
the _c at the end means that rather than running the log_to_handle function we want a new coderef which will be suitable for the framework.my $logger = log_to_handle_c($MYHANDLE);
|
---|
Replies are listed 'Best First'. | |
---|---|
Re^3: Near-free function currying in Perl
by BrowserUk (Pope) on Nov 17, 2004 at 12:31 UTC | |
by fergal (Chaplain) on Nov 17, 2004 at 13:01 UTC | |
by BrowserUk (Pope) on Nov 17, 2004 at 13:37 UTC | |
by fergal (Chaplain) on Nov 17, 2004 at 14:59 UTC |