Beefy Boxes and Bandwidth Generously Provided by pair Networks Bob
Clear questions and runnable code
get the best and fastest answer
 
PerlMonks  

Re^2: @array elements multiplication with another array elements.

by grizzley (Chaplain)
on Oct 31, 2012 at 07:39 UTC ( #1001620=note: print w/ replies, xml ) Need Help??


in reply to Re: @array elements multiplication with another array elements.
in thread @array elements multiplication with another array elements.

Wow, how can pairwise tell where the end of 1st array is? There was always the problem feature that regardless whether you write

my @array1 = (3,4,6,5,8); my @array2 = (2,2,4,5,1);
or
my @array1 = (3,4,6,5,8,2,2,4); my @array2 = (5,1);
using it with coma always results in flattened list:
@array1,@array2
is equivalent to
(3,4,6,5,8,2,2,4,5,1)
and yet pairwise deals with it:
c:\>perl -le "use List::MoreUtils qw/pairwise/; @a=(1..5);@b=(11..15); + print for pairwise {$a+$b} @a, @b" 12 14 16 18 20 c:\>perl -le "use List::MoreUtils qw/pairwise/; @a=(1..5, 11,12);@b=(1 +3..15); print for pairwise {$a+$b} @a, @b" 14 16 18 4 5 11 12


Comment on Re^2: @array elements multiplication with another array elements.
Select or Download Code
Re^3: @array elements multiplication with another array elements.
by tobyink (Abbot) on Oct 31, 2012 at 07:51 UTC

    It uses a prototype of &\@\@. That means the two arrays get implicitly turned into arrayrefs by the Perl parser. The body of the sub just sees a coderef and two arrayrefs - not a flattened list. See perlsub.

    perl -E'sub Monkey::do{say$_,for@_,do{($monkey=[caller(0)]->[3])=~s{::}{ }and$monkey}}"Monkey say"->Monkey::do'
      That's true! Wow, thanks, first example of prototypes being useful
      c:\>perl -le "sub f(\@\@) { print 'array ', ++$cnt ,': ', join ' ', @$ +_ for @_ } @a=(1..5, 11,12);@b=(13..15); f @a, @b" array 1: 1 2 3 4 5 11 12 array 2: 13 14 15

Log In?
Username:
Password:

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

How do I use this? | Other CB clients
Other Users?
Others musing on the Monastery: (5)
As of 2014-04-17 22:44 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    April first is:







    Results (458 votes), past polls