|
|
Scala 2.3.3
|
class
Fluid
[T]
extends java.lang.Object
with scala.ScalaObject
value method. New values can be
pushed using the withValue method.
Values pushed via withValue only
stay valid while the withValue's
second argument, a parameterless closure,
executes. When the second argument finishes,
the fluid reverts to the previous value.
Usage of withValue looks like this:
someFluid.withValue(newValue) {
// ... code called in here that calls value ...
// ... will be given back the newValue ...
}
Each thread gets its own stack of bindings. When a
new thread is created, the fluid gets a copy of
the stack of bindings from the parent thread, and
from then on the bindings for the new thread
are independent of those for the original thread.| Constructor Summary | |
def
this
(init: T)
|
|
| Def Summary | |
override
|
def
toString
: java.lang.String
|
def
value
: T
Retrieve the current value |
|
def
value_=
(newval: T)
: scala.Unit
Change the currently bound value, discarding the old value. Usually withValue() gives better semantics. |
|
def
withValue
[S]
(newval: T)(thunk: => S)
: S
Set the value of the fluid while executing the specified thunk. |
|
| Constructor Detail |
| Def Detail |
override
def
toString
: java.lang.String
def
value
: T
def
value_=
(newval: T): scala.Unit
newval - The value to which to set the fluid
thunk - The code to evaluate under the new setting