Now that I know how to rotate with a wrap - thank you all for your help -
I'd like to rotate (or shift or move?) without wrapping.

I managed to do these, but I wonder if there is something more straight forward?

perldl> $q = sequence(3,3);

perldl> p $q

[
 [0 1 2]
 [3 4 5]
 [6 7 8]
]


perldl> p $q->append(0)->slice("1:3")     # that is move left pad by 0

[
 [1 2 0]
 [4 5 0]
 [7 8 0]
]

perldl> p zeroes(1)->append($q)->slice("0:2")   # that is move right pad by 0

[
 [0 0 1]
 [0 3 4]
 [0 6 7]
]

perldl> p $q->transpose->append(0)->slice("1:3")->transpose     # move up

[
 [3 4 5]
 [6 7 8]
 [0 0 0]
]

perldl> p zeroes(1)->append($q->transpose)->slice("0:2")->transpose
# move down

[
 [0 0 0]
 [0 1 2]
 [3 4 5]
]


perldl> p 
zeroes(1)->append($q->transpose)->slice("0:2")->transpose->append(0)->slice("1:3")
 # move down and left 1

[
 [0 0 0]
 [1 2 0]
 [4 5 0]
]

etc...

Gabor

_______________________________________________
Perldl mailing list
[email protected]
http://mailman.jach.hawaii.edu/mailman/listinfo/perldl

Reply via email to