Класс DynamicVariable.DynamicVariable
class DynamicVariable[T](init: T)
DynamicVariables обеспечивает механизм связывания, где текущее значение находится через динамический контекст, но доступ к переменной сам по себе разрешается через статический контекст.
Текущее значение можно получить с помощью метода value. Новые значения должны быть установлены с помощью метода withValue. Значения, установленные через withValue, остаются действительными только до тех пор, пока выполняется второй аргумент withValue, безаргументная замыкание. По завершении второго аргумента переменная возвращается к предыдущему значению.
someDynamicVariable.withValue(newValue) {
// ... code called in here that calls value ...
// ... will be given back the newValue ...
}
Каждый поток получает свою собственную стек связываний. Когда создается новый поток, он получает копию стека связываний из родительского потока, и после этого связывания для нового потока независимы от связываний исходного потока.
| Суперобоъекты |
|---|
Конкретные методы
Исходный код
Возвращает строковое представление объекта.
Представление по умолчанию зависит от платформы.
| Возвращаемое значение | строковое представление объекта. |
|---|---|
| Классы определения | Any |
Исходный код
def value: T
Получение текущего значения
Исходный код
Изменение текущего связанного значения, отбрасывая старое значение. Обычно withValue() предоставляет лучшую семантику.
Исходный код
def withValue[S](newval: T)(thunk: => S): S
Установка значения переменной во время выполнения указанной замыкания.
| Параметры значения |
|
|---|
© 2002-2022 EPFL, with contributions from Lightbend.
Licensed under the Apache License, Version 2.0.
https://scala-lang.org/api/3.2.0/scala/util/DynamicVariable.html