Breaks

object Breaks extends Breaks

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

Example usage:

import Breaks.{break, breakable}

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

Type members

Inherited classlikes

sealed
trait TryBlock[T]
Inherited from
Breaks
Source
Breaks.scala

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
Source
Breaks.scala
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
Source
Breaks.scala
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
Source
Breaks.scala