in reply to Closures versus Currying
Just a couple of style issues: if you can't explain precisely why you are using ampersands in your subroutine calls then leave them off (see perlsub if you want to find out more).
Secondly, since at least perl 5.5.3 (or 5.005_03 if you like), Perl admits a different syntax for calling out coderefs that is considered cleaner. It follows the form $coderef->(). Rewriting your code, we get:
my $boss = curry( \&echo, "My", "boss:" ); my $friend = curry( \&echo, "Johnny:" ); print $boss->(qw( has pointy hair )), "\n"; # "My boss: has pointy hai +r print $friend->(qw( likes rock and roll )), "\n"; # etc.
By the way, the code doesn't parse correctly. perl can't determine what the fragment &$friend qw( likes rock and roll ), "\n" is meant to mean. A pair of parentheses are needed.
- another intruder with the mooring of the heat of the Perl
|
|---|
| Replies are listed 'Best First'. | |
|---|---|
|
Re^2: Closures versus Currying
by FoxtrotUniform (Prior) on Sep 06, 2004 at 08:47 UTC | |
by tilly (Archbishop) on Sep 07, 2004 at 17:04 UTC |