An object that can be used for the break control abstraction.
Example usage:
import Breaks.{break, breakable}breakable { for (...) { if (...) break }}Break from the dynamically closest enclosing breakable block that also uses thisBreaks instance.
Break from the dynamically closest enclosing breakable block that also uses thisBreaks instance.
This might be different from the statically closest enclosing block!
Invocation without parentheses relies on the conversion to "empty application".
A block from which one can exit with abreak.
A block from which one can exit with abreak. Thebreak may be executed further down in the call stack provided that it is called on the exact same instance ofBreaks.
Try a computation that produces a value, supplying a default to be used if the computation terminates with abreak.
Try a computation that produces a value, supplying a default to be used if the computation terminates with abreak.
tryBreakable { (1 to 3).map(i => if (math.random < .5) break else i * 2)} catchBreak { Vector.empty}