linux: shared memory interface - link with librt
[supercollider.git] / HelpSource / Classes / Pair.schelp
blob5d1bb6b83b0549fa526503c7aa8ff9d8f7bc445c
1 CLASS::Pair
2 summary::LISP-like two element cells
3 categories:: Collections>Ordered
5 DESCRIPTION::
7 note::
8 Implementation incomplete. See link::Guides/J-concepts-in-SC:: for similar functionality.
9 ::
11 Most methods are inherited from the superclasses.
13 CLASSMETHODS::
15 method::new
16 Return new instance.
18 method::newFrom
19 Convert collection (e.g. arrays of arrays) to pairs.
21 INSTANCEMETHODS::
23 private::storeOn, printOn, storeArgs
25 method::size
26 Return the size when linking across.
28 method::depth
29 Return the size when linking down.
31 method::do
32 Iterate over the two elements.
34 Traverse
35 Same like: link::#-depthFirstPreOrderTraversal::
37 method::depthFirstPreOrderTraversal
38 Traverse the data structure first link down, then across (see link::#Examples::).
40 method::depthFirstPostOrderTraversal
41 Traverse the data structure from bottom up (see link::#Examples::).
43 EXAMPLES::
45 code::
46 a = Pair(Pair(Pair(1, 2), 4), Pair(5, 6));
48 a.size;
49 a.depth;
50 a.do { |x| x.postln };
51 a.traverse { |x| x.postln };
52 a.depthFirstPreOrderTraversal { |x| x.postln };
53 a.depthFirstPostOrderTraversal { |x| x.postln };
56 // alternative instantiations:
58 Pair.newFrom([1, [2, [[4, 5], 6]]]);
60 [1, [2, [[4, 5], 6]]].as(Pair); // equivalent.