COMMAND
break - Abort looping commandUSAGE
breakCONTEXT
TCL core commandDESCRIPTION
This command is typically invoked inside the body of a looping command such as for or foreach or while. It returns a TCL_BREAK code, which causes a break exception to occur. The exception causes the current script to be aborted out to the innermost containing loop command, which then aborts its execution and returns normally. Break exceptions are also handled in a few other situations, such as the catch command, Tk event bindings, and the outermost scripts of procedure bodies.MAN PAGE
http://www.tcl.tk/man/tcl8.5/TclCmd/break.htmSEE ALSO
other return fucntions: continue, returnloop functions: for, foreach, whileEXAMPLES
Print a line for each of the integers from 0 to 5: for {set x 0} {$x<10} {incr x} {
if {$x > 5} {
break
}
puts "x is $x"
}One surprising use of break is to make sure a foreach loop runs exactly once (because we're only interested in the list assignment, not the actual body):
escargo 13 Jul 2004 - I recently noted that in Icon, the break expression takes an optional expression just like the return expression does. This allows a bit more information to come out of a break. (It's also probably not what Tcl considers an exception.)
foreach {a b} [list $b $a] break ;# (1)RS 2006-04-20: This code for swapping two variables can however be had simpler:foreach a $b b $a break ;# (2)Lars H: No, that sets a to the first element of b and b to the first element of a, which isn't in general the same thing as swapping the values. - RS: True. I was thinking in terms of scalars only... For values parsable as lists, approach (1) is better.
escargo 13 Jul 2004 - I recently noted that in Icon, the break expression takes an optional expression just like the return expression does. This allows a bit more information to come out of a break. (It's also probably not what Tcl considers an exception.)

