Breaks

object Breaks extends Breaks

An object that can be used for the break control abstraction.

An object that can be used for the break control abstraction.

Example usage:

import Breaks.{break, breakable}

breakable {
  for (...) {
    if (...) break
  }
}
Companion
class
class Breaks
class Object
trait Matchable
class Any

Type members

Inherited classlikes

sealed trait TryBlock[T]
Inherited from
Breaks

Value members

Inherited methods

def break(): Nothing

Break from the dynamically closest enclosing breakable block that also uses this Breaks instance.

Break from the dynamically closest enclosing breakable block that also uses this Breaks instance.

Note

This might be different from the statically closest enclosing block!

Invocation without parentheses relies on the conversion to "empty application".

Inherited from
Breaks
def breakable(op: => Unit): Unit

A block from which one can exit with a break.

A block from which one can exit with a break. The break may be executed further down in the call stack provided that it is called on the exact same instance of Breaks.

Inherited from
Breaks
def tryBreakable[T](op: => T): TryBlock[T]

Try a computation that produces a value, supplying a default to be used if the computation terminates with a break.

Try a computation that produces a value, supplying a default to be used if the computation terminates with a break.

tryBreakable {
 (1 to 3).map(i => if (math.random < .5) break else i * 2)
} catchBreak {
 Vector.empty
}
Inherited from
Breaks