/usr/share/SuperCollider/HelpSource/Classes/LazyEnvir.schelp is in supercollider-common 1:3.6.3~repack-5.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 | class:: LazyEnvir
summary:: lazy environment
categories:: Libraries>JITLib>Environments
related:: Classes/Environment, Classes/EnvironmentRedirect, Classes/ProxySpace, Overviews/JITLib
description::
Environment with deferred evaluation and default values.
Consequently, calculations can be done with nonexisting objects which can then be assigned later.
Per default, a LazyEnvir returns instances of link::Classes/Maybe::. See also link::Classes/Fdef::.
InstanceMethods::
method::put
sets the value of the reference at key.
method::at
returns a reference to the object at key.
Examples::
code::
l = LazyEnvir.push;
// default objects are created on access
~a;
~a.value; // defaults to 1
// operations on placeholders
(
~c = ~a + ~b;
~c.value;
)
// variables can be assigned later
(
~a = 800;
~b = { 1.0.rand };
~c.value;
)
// variables can be exchanged later
(
~b = { 1000.rand };
~c.value;
)
// making pattern space using LazyEnvir
a = LazyEnvir.new;
a.proxyClass=\PatternProxy;
a.push;
~x = Pseq([1, 2, 30], 1);
~y = Pseq([~x], inf);
z = ~y.asStream;
z.next;
z.next;
z.next;
~x = Pseq([100, 2, 300], 1);
z.next;
z.next;
z.next;
a.pop;
::
|