**(rotated: // [[harlowe:Number|Number]], [...Any]//) -> //[[harlowe:Array|array]]//**
Similar to the [[harlowe:a|(a:)]] macro, but it also takes a [[harlowe:number|number]] at the start, and moves
each item forward by that number, wrapping back to the start
if they pass the end of the [[harlowe:array|array]].
=== Example usage: ===
* ''%%(rotated: 1, 'A','B','C','D')%%'' is equal to ''%%(a: 'D','A','B','C')%%''.
* ''%%(rotated: -2, 'A','B','C','D')%%'' is equal to ''%%(a: 'C','D','A','B')%%''.
=== Rationale: ===
Sometimes, you may want to cycle through a number of values, without
repeating any until you reach the end. For instance, you may have a rotating set
of flavour-text descriptions for a thing in your story, which you'd like displayed
in their entirety without the whim of a random picker. The (rotated:) macro
allows you to apply this "rotation" to a sequence of data, changing their positions
by a certain number without discarding any values.
Remember that, as with all macros, you can insert all the values in an existing
array using the ''%%...%%'' syntax: ''%%(set: $a to (rotated: 1, ...$a))%%'' is a common means of
replacing an array with a rotation of itself.
Think of the number as being an addition to each position in the original sequence -
if it's 1, then the value in position 1 moves to 2, the value in position 2 moves to 3,
and so forth.
Incidentally... you can also use this macro to rotate a [[harlowe:string|string]]'s characters, by doing
something like this: ''%%(string: ...(rotated: 1, ...$str))%%''
=== Details: ===
To ensure that it's being used correctly, this macro requires three or more items -
providing just two, one or none will cause an error to be presented.
=== See also: ===
[[harlowe:sorted|(sorted:)]]