Is there a more concise way to express m rotations of each of a set of items?
]n=.1 2 3;4 5 6 7 8;8 6;3 5 7 9 ┌─────┬─────────┬───┬───────┐ │1 2 3│4 5 6 7 8│8 6│3 5 7 9│ └─────┴─────────┴───┴───────┘ m=. 0, 1, 2, 3, 4 NB. Number of rotations ea =. each n,.(1|.ea n),.(2|.ea n),.(3|.ea n),.(4|.ea n) ┌─────────┬─────────┬─────────┬─────────┬─────────┐ │1 2 3 │2 3 1 │3 1 2 │1 2 3 │2 3 1 │ ├─────────┼─────────┼─────────┼─────────┼─────────┤ │4 5 6 7 8│5 6 7 8 4│6 7 8 4 5│7 8 4 5 6│8 4 5 6 7│ ├─────────┼─────────┼─────────┼─────────┼─────────┤ │8 6 │6 8 │8 6 │6 8 │8 6 │ ├─────────┼─────────┼─────────┼─────────┼─────────┤ │3 5 7 9 │5 7 9 3 │7 9 3 5 │9 3 5 7 │3 5 7 9 │ └─────────┴─────────┴─────────┴─────────┴─────────┘ Or better yet with no duplicated rotations:: 2 7$~.,n,.(1|.ea n),.(2|.ea n),.(3|.ea n),.(4|.ea n) ┌─────────┬─────┬─────┬─────────┬─────────┬─────────┬─────────┐ │1 2 3 │2 3 1│3 1 2│4 5 6 7 8│5 6 7 8 4│6 7 8 4 5│7 8 4 5 6│ ├─────────┼─────┼─────┼─────────┼─────────┼─────────┼─────────┤ │8 4 5 6 7│8 6 │6 8 │3 5 7 9 │5 7 9 3 │7 9 3 5 │9 3 5 7 │ └─────────┴─────┴─────┴─────────┴─────────┴─────────┴─────────┘ Can this be done using iteration rather than explicitly listing each rotation? Skip Cave Cave Consulting LLC ---------------------------------------------------------------------- For information about J forums see http://www.jsoftware.com/forums.htm
