Beefy Boxes and Bandwidth Generously Provided by pair Networks
We don't bite newbies here... much
 
PerlMonks  

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

by grizzley (Chaplain)
on Oct 31, 2012 at 07:39 UTC ( [id://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

Replies are listed 'Best First'.
Re^3: @array elements multiplication with another array elements.
by tobyink (Canon) 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
Domain Nodelet?
Node Status?
node history
Node Type: note [id://1001620]
help
Chatterbox?
and the web crawler heard nothing...

How do I use this?Last hourOther CB clients
Other Users?
Others pondering the Monastery: (3)
As of 2024-04-16 14:57 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    No recent polls found