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

Re: Re: dimensioning arrays

by Gloom (Monk)
on Feb 16, 2001 at 16:31 UTC ( #58843=note: print w/replies, xml ) Need Help??

in reply to Re: dimensioning arrays
in thread dimensioning arrays

@{shift} may means @{'shift'} or @shift : it's ambiguous.

be more sharp by adding "()" after shift.
... my $nx = shift; my @a = @{shift()}; # This should resolve your problem my $ny = shift; ...
Hope this helps

Replies are listed 'Best First'.
Re: Re: Re: dimensioning arrays
by Anonymous Monk on Feb 16, 2001 at 16:54 UTC
    Thanks, Now it works.
    It would be nice for me to have a general subroutine
    sub initialise(\@dimensions,$initialisation_value,\@matrix)
    that gives back an initalised matrix of n-dimensions. I'll try as learning exercise, if it is not straightforward for someone to write it down here. There's a lot to learn from a snippet of code..:)
      This is a solution. Not very efficient though (sorry)... but I found it interesting.

      sub ar_init { my $shift = shift ; (defined $_[0]) ? [ map { ar_init(@_) } (1..$shift) ] : $shift ; } my $array_ref = ar_init(3, 2, 4, 'pop '); print $array_ref->[2][0][3]

      Since lists are 'flattened' in subroutine calls, you could put the dimensions in an array @dim = (3, 2, 4) and call it using ar_init(@dim, 'foo') - it would have the same effect. Note that the whole thing is constructed using references - you'll need to understand references for whatever solution you use. I like the explanation of reference syntax in _Effective_Perl_Programming_.

Log In?

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

How do I use this? | Other CB clients
Other Users?
Others browsing the Monastery: (2)
As of 2022-01-27 00:57 GMT
Find Nodes?
    Voting Booth?
    In 2022, my preferred method to securely store passwords is:

    Results (70 votes). Check out past polls.