Reference | Core | Common methods

# loop / repeat

Repeat stuff

### loop

### repeat

Create an object that behaves like a stream that returns values for a limited (or infinite) number of times.

For a full list of implementing classes, see Methods: loop and Methods: repeat

Function: -loop
  repeats the function forever.

          f = { 3.yield };
          x = Routine({ f.loop });
          10.do({ x.next.postln })

Object: -repeat (n)
  repeat to yield the object

          x = 5;
          y = x.repeat(6);
          y.nextN(8);

Pattern: -repeat (n)

          x = Prand([1, 2]).repeat(6).asStream;
          x.nextN(8);

Pattern: -loop

          x = Prand([1, 2]).loop.asStream;
          x.nextN(8);

Stream: -repeat (n)
  embeds the stream repeatedly

          x = Routine({ 3.do({ arg i; i.yield }) }).repeat(6);
          x.nextN(8);

Stream: -loop
  embeds the stream repeatedly

          x = Routine({ 3.do({ arg i; i.yield }) }).loop;
          x.nextN(8);

helpfile source: /Applications/SuperCollider.app/Contents/Resources/HelpSource/Reference/loop.schelp
link::Reference/loop::