object Using
- Companion
- class
Type members
Classlikes
Value members
Concrete methods
Returns a Using keyword to execute a ScopeExitHandler when exiting the nearest enclosing scope that is annotated as @reset, (or the nearest enclosing function if compilerplugins.ResetEverywhere is enabled).
Returns a Using keyword to execute a ScopeExitHandler when exiting the nearest enclosing scope that is annotated as @reset, (or the nearest enclosing function if compilerplugins.ResetEverywhere is enabled).
- Note
This method is similar to apply, except the parameter type is changed from a generic
R
to the SAM type ScopeExitHandler, which allows for function literal expressions in Scala 2.12+ or Scala 2.11 with-Xexperimental
compiler option.- Example
The following function will perform
n *= 2
aftern += 20
:import scala.concurrent.Future import com.thoughtworks.dsl.keywords.Using.scopeExit import com.thoughtworks.dsl.bangnotation._ var n = 1 def multiplicationAfterAddition = *[Future] { !scopeExit { () => n *= 2 } n += 20 }
Therefore, the final value of `n` should be `(1 + 20) * 2 = 42`.
multiplicationAfterAddition.map { _ => n should be(42) }
Givens
Givens
Implicits
Implicits
implicit
def continuationUsingDsl[Domain, Value, R <: AutoCloseable](implicit tryFinally: TryFinally[Value, Domain, Domain, Domain]): Dsl[Using[R], Domain !! Value, R]
implicit
def scalaFutureUsingDsl[R <: AutoCloseable, A](implicit executionContext: ExecutionContext): Dsl[Using[R], Future[A], R]