44 lines
866 B
Text
44 lines
866 B
Text
TITLE:: FlowVar
|
|
summary:: A place holder, which when accessed pauses a thread until the place holder has a value
|
|
categories::Scheduling
|
|
related:: Classes/Ref, Classes/Thunk, Classes/Condition, Classes/Routine
|
|
|
|
DESCRIPTION::
|
|
|
|
|
|
code::
|
|
(
|
|
a = FlowVar.new;
|
|
fork {
|
|
"I am waiting, please enter a value ...".postln;
|
|
a.value.postln;
|
|
"...... ok, done.".postln;
|
|
}
|
|
)
|
|
|
|
// later, set the value. Then we can continue ...
|
|
a.value = 2;
|
|
::
|
|
|
|
|
|
CLASSMETHODS::
|
|
|
|
METHOD:: new
|
|
Return a new instance,
|
|
|
|
ARGUMENT:: inVal
|
|
If a value is given here, the FlowVar will not block execution.
|
|
|
|
|
|
INSTANCEMETHODS::
|
|
|
|
|
|
METHOD:: value
|
|
Set the value bound to the FlowVar.
|
|
|
|
The getter returns the value bound to the FlowVar. If the value is not yet available, hold execution (this requires the method to be called from within a link::Classes/Routine:: or similar thread.).
|
|
|
|
|
|
ARGUMENT:: inVal
|
|
Any object.
|
|
|