Once I get that upgrade to 36-hour days, I will tackle that. – Mychaeel

Break statement

From Unreal Wiki, The Unreal Engine Documentation Site
Revision as of 07:44, 23 October 2008 by Wormbo (Talk | contribs) (New page: The '''break''' statement can be used within do, while, for and foreach loops and within switch blocks. Its effect is, that it immediately exits the inner-most surround...)

(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to: navigation, search

The break statement can be used within do, while, for and foreach loops and within switch blocks. Its effect is, that it immediately exits the inner-most surrounding loop or switch block.

Syntax[edit]

It's as simple as it can get:

break;

That's all. Just "break" and a semicolon.

Examples[edit]

When you use the break statement, you'll usually do it in the following way:

while (/* condition */) {
  // some code
 
  if (/* required condition */)
    break;
 
  // more code
}
// break jumps here

In nested loops, break only exits the inner-most loop:

for (i = 0; i < 10; i++) {
  for (j = 0; i < 10; j++) {
    if (j > 5)
      break;
  }
  // break jumps here!
}

Note that UnrealScript provides no way to specify the loop to exit. It always exits the inner-most loop or switch.

Sometimes you want to look for a single instance of a certain type of actor, for example a GameReplicationInfo:

local GameReplicationInfo GRI;
 
foreach AllActors(class'GameReplicationInfo', GRI)
  break;

The AllActors iterator is canceled early here. This means, if there's any actor of class GameReplicationInfo, it'll end up being in the GRI variable. Without the break statement, the AllActors iterator would not only not stop at the first GameReplicationInfo. Additionally, the final content of the GRI variable is not defined. It might be the last GameReplicationInfo found, but it could also be None! The behavior depends on the implementation of the iterator function.