Just another Perl shrine PerlMonks

Re^4: Convert matrix formats

 on Nov 01, 2010 at 15:51 UTC ( #868781=note: print w/replies, xml ) Need Help??

in reply to Re^3: Convert matrix formats

I like your sub there :) Not relevant to my interests but its pretty and understandable (even to a newb like me). What is relevant to my interests is the actual converting part.

for my \$y ( 0 .. \$#lt -1 ) { push @{ \$lt\$y }, \$lt\$_\$y for \$y+1 .. \$#{ \$lt-1 };

I have some difficulties of understanding it clearly. Can you comment on this by which logic the first for conditions are set ( 0 .. \$#lt -1 ) also the combination \$# I have not encountered something like this what does it mean?

Replies are listed 'Best First'.
Re^5: Convert matrix formats
by BrowserUk (Pope) on Nov 01, 2010 at 16:13 UTC
Can you comment on this by which logic the first for conditions are set ( 0 .. \$#lt -1 ) also the combination \$# I have not encountered something like this what does it mean?

Absolutely. That's what this place is all about.

```[
[1],
[2, 3],
[4, 5, 6],
[7, 8, 9, 10]
]
```### \$#array is the highest index in @array.
my \$yMax = \$#lt;

## \$#{ ... } is the highest index in the array referenced by ...
## \$array[ -1 ] is the last element in the @array
## So the following sets \$xMax to highest index of the array (referenc
+e)
## in the last element of @lt. Ie. The longest subarray.

my \$xMax = \$#{ \$lt[-1] };

## Iterate through each the subarrays except the last which does need
for my \$y ( 0 .. \$yMax -1 ) {

## for \$lt[ \$y=0 ] ([1]),    we need to add elements \$y+1..\$xMax (
+1..3)
## for \$lt[ \$y=1 ] ([2,3]),  we need to add elements \$y+1..\$yMax (
+2..3)
## And the value we add at \$lt[ \$y ][ \$x ] comes from \$lt[ \$x ][ \$
+y ].

for my \$x ( \$y+1 .. \$xMax )
push @{ \$lt[ \$y ] }, \$lt[ \$x ][ \$y ];
}
}

BTW: please use <code></code> tags when posting code snippets. That way they are readable :)

Examine what is said, not who speaks -- Silence betokens consent -- Love the truth but pardon error.
"Science is about questioning the status quo. Questioning authority".
In the absence of evidence, opinion is indistinguishable from prejudice.
Thank you very much, that was educational.

Create A New User
Node Status?
node history
Node Type: note [id://868781]
help
Chatterbox?
and all is quiet...

How do I use this? | Other CB clients
Other Users?
Others taking refuge in the Monastery: (4)
As of 2017-08-16 19:53 GMT
Sections?
Information?
Find Nodes?
Leftovers?
Voting Booth?
Who is your favorite scientist and why?

Results (273 votes). Check out past polls.

Notices?