# Difference between revisions of "rot"

From TidalCycles userbase

m |
|||

Line 22: | Line 22: | ||

The above will not rotate the pattern for the first two cycles, will rotate it by one the third cycle, and by three the fourth cycle. | The above will not rotate the pattern for the first two cycles, will rotate it by one the third cycle, and by three the fourth cycle. | ||

− | [[Category:Functions]] [[Category:Tidal-1+]] | + | [[Category:Functions]] [[Category:Tidal-1+]] [[Category:Pattern Transformers]] |

## Revision as of 21:32, 25 November 2018

Type: `rot :: Ord a => Pattern Int -> Pattern a -> Pattern a`

The **rot** function 'rotates' the values in a pattern, while preserving its structure. For example in the following, each value will shift to its neighbour's position one step to the left, so that b takes the place of a, a of c, and c of b:

```
rot 1 "a ~ b c"
```

The result is equivalent of

```
"b ~ c a"
```

The first parameter is the number of steps, and may be given as a pattern, for example:

```
d1 $ rot "<0 0 1 3>" $ n "0 ~ 1 2 0 2 ~ 3*2" # sound "drum"
```

The above will not rotate the pattern for the first two cycles, will rotate it by one the third cycle, and by three the fourth cycle.