Beefy Boxes and Bandwidth Generously Provided by pair Networks
Keep It Simple, Stupid
 
PerlMonks  

Re: Creating a Slice through a 2 dimensional array

by xdg (Monsignor)
on Sep 29, 2005 at 09:57 UTC ( [id://496029]=note: print w/replies, xml ) Need Help??


in reply to Creating a Slice through a 2 dimensional array

Several issues -- first, your slice isn't a slice. You need @sortarr[0..10]. Second, the content of each element is an array reference -- you need to slice out each part of that. p.272 is throwing you off because it's giving a slice of a row -- you're trying for a slice of a column (in a row-major AoA).

You probably want to use map to extract the subslices. E.g.

my @aoa = ( [1 .. 4], [5 .. 8], [9 .. 12], ); my @column_slice = map { [ $_->[2] ] } @aoa[1,2]; my @two_d_slice = map { [ @{$_}[1,2] ] } @aoa[1,2];

For a column slice, for each element of the slice, @aoa[1,2] (i.e. the rows), this dereferences the array reference to get the column, and returns it as a new anonymous array reference. (This keeps it an AoA; if you want a flattened list, omit the square brackets just inside the map braces.). For two-dimensions, it's similar, but you slice inside the map, too.

-xdg

Code written by xdg and posted on PerlMonks is public domain. It is provided as is with no warranties, express or implied, of any kind. Posted code may not have been tested. Use of posted code is at your own risk.

Log In?
Username:
Password:

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

How do I use this?Last hourOther CB clients
Other Users?
Others sharing their wisdom with the Monastery: (4)
As of 2024-04-24 05:00 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    No recent polls found