linux: shared memory interface - link with librt
[supercollider.git] / HelpSource / Classes / Pcollect.schelp
blobfee5ba5eb90125e9e1a00bf1fb254be0e0e5a8f3
1 class:: Pcollect
2 summary:: Apply a function to a pattern
3 categories:: Streams-Patterns-Events>Patterns>Filter
4 related:: Classes/Pselect, Classes/Preject
6 description::
7 Modifies each value by passing it to the function.
10 classmethods::
12 method:: new
13 argument:: func
14 A link::Classes/Function::. Receives values from code::pattern::.
15 argument:: pattern
16 A link::Classes/Pattern::.
19 examples::
20 code::
22 var a, b;
23 a = Pcollect({ arg item; item * 3 }, Pseq(#[1, 2, 3],inf));
24 x = a.asStream;
25 9.do({ x.next.postln; });
29 The message code::collect:: returns a Pcollect when passed to a pattern. Note that because the pattern is converted to a link::Classes/Stream:: (more precisely a link::Classes/FuncStream::) the collect function is evaluated for one item each time the message code::next:: is passed.
30 code::
32 var a, b;
33 a = Pseq(#[1, 2, 3],inf).collect({ arg item; item * 3 });
34 a.postln;
35 x = a.asStream;
36 9.do({ x.next.postln; });