Beefy Boxes and Bandwidth Generously Provided by pair Networks
XP is just a number
 
PerlMonks  

Re^2: Ternary vs. Sort vs. Max

by QM (Parson)
on Aug 10, 2015 at 15:55 UTC ( #1138057=note: print w/replies, xml ) Need Help??


in reply to Re: Ternary vs. Sort vs. Max
in thread Ternary vs. Sort vs. Max

Hi Athanasius,

The macro is indeed interesting, as I've not delved in there before.

However, that may suffer from techical debt. If I define a max macro that only handles 2 values, I (or my replacement) may call it later and give it 3 values, and only get the max of the first 2. Still, some careful coding (probably duplicating List::Util's max) could ensue.

Edited to add:

Also, it seems the macro syntax uses significant whitespace, which bugs me.

Edited to add (2):

The macro doc page has this:

use macro add => sub{ $_[0] + $_[1] }; say => sub{ print @_, "\n"}; say(add(1, 3)); # it's replaced into 'print do{ (1) + (3) }, "\n";'
which I'm assuming uses significant whitespace to figure out that say is a macro. (Or there's a typo semicolon on the first line.)

-QM
--
Quantum Mechanics: The dreams stuff is made of

Replies are listed 'Best First'.
Re^3: Ternary vs. Sort vs. Max
by Athanasius (Bishop) on Aug 11, 2015 at 09:42 UTC

    It’s just a typo:

    19:13 >perl pod.pl Useless use of a constant ("say") in void context at pod.pl line 6. Useless use of single ref constructor in void context at pod.pl line 6 +. Undefined subroutine &main::say called at pod.pl line 7. 19:39 >

    Whereas with a comma instead of the semicolon:

    19:39 >perl pod.pl 4 19:41 >perl -MO=Deparse pod.pl Compiling pod.pl by macro::compiler/0.06 ... sub Digest::base::clone; sub Digest::base::new; sub Digest::base::digest; sub Digest::base::add; use macro ('add', sub { use warnings; use strict; $_[0] + $_[1]; } , 'say', sub { use warnings; use strict; print @_, "\n"; } ); use warnings; use strict; print 4, "\n"; pod.pl syntax OK 19:41 >

    Hope that helps,

    Athanasius <°(((><contra mundum Iustus alius egestas vitae, eros Piratica,

      I raised ticket 106366 for that.

      -QM
      --
      Quantum Mechanics: The dreams stuff is made of

Log In?
Username:
Password:

What's my password?
Create A New User
Node Status?
node history
Node Type: note [id://1138057]
help
Chatterbox?
and the web crawler heard nothing...

How do I use this? | Other CB clients
Other Users?
Others about the Monastery: (3)
As of 2021-01-16 00:16 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?
    Notices?