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
Breaks.type

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