Difference between revisions of "Break Statement"

From NWN Lexicon
Jump to: navigation, search
m (Prettified article formatting)
 
(3 intermediate revisions by 3 users not shown)
Line 1: Line 1:
{{DISPLAYTITLE:break Statement}}
+
 
 
Used to escape from a looping structure ([[do Loop|do]], [[while Loop|while]], and [[for Loop|for]]) or [[Switch_case_Statement|switch]] case statement.
 
Used to escape from a looping structure ([[do Loop|do]], [[while Loop|while]], and [[for Loop|for]]) or [[Switch_case_Statement|switch]] case statement.
  
Line 8: Line 8:
 
The following example searches for a PC with a strength score higher than 12, and repeats until there are no more PCs to search:
 
The following example searches for a PC with a strength score higher than 12, and repeats until there are no more PCs to search:
 
<nwscript>
 
<nwscript>
 
 
object oTarget = GetFirstPC();
 
object oTarget = GetFirstPC();
  
 
while (oTarget != OBJECT_INVALID)  
 
while (oTarget != OBJECT_INVALID)  
 
{
 
{
    int nStr = GetAbilityScore(oTarget, ABILITY_STRENGTH);
+
    int nStr = GetAbilityScore(oTarget, ABILITY_STRENGTH);
    if (nStr &gt; 12)  
+
    if (nStr > 12)  
          break;
+
        break;
    oTarget = GetNextPC();
+
 
 +
    oTarget = GetNextPC();
 
}
 
}
 
</nwscript>
 
</nwscript>
  
As soon as the loop finds a PC with a strength higher than 12 the break statement is called halting the loop and the search for a target. Note that if no PCs are present with a strength score higher than 12, the loop will not exit (seems to be a problem with GetNextPC).
+
As soon as the loop finds a PC with a strength higher than 12 the break statement is called halting the loop and the search for a target. Note that if no PCs are present with a strength score higher than 12, the loop will not exit (seems to be a problem with [[GetNextPC]]()).
 
----
 
----
  
Line 26: Line 26:
 
[[Category:Primers]]
 
[[Category:Primers]]
 
[[Category:Conditionals_and_Loops]]
 
[[Category:Conditionals_and_Loops]]
 +
{{DISPLAYTITLE:break Statement}}

Latest revision as of 04:45, 24 December 2017

Used to escape from a looping structure (do, while, and for) or switch case statement.

If a break statement is executed from within a looping code block the loop will halt execution regardless of the condition controlling the loop. Any remaining statements within the code block will not be executed.

If a break statement is executed from within a case inside of a switch statement, all following case statements are ignored.

The following example searches for a PC with a strength score higher than 12, and repeats until there are no more PCs to search:

object oTarget = GetFirstPC();
 
while (oTarget != OBJECT_INVALID) 
{
    int nStr = GetAbilityScore(oTarget, ABILITY_STRENGTH);
    if (nStr > 12) 
        break;
 
    oTarget = GetNextPC();
}

As soon as the loop finds a PC with a strength higher than 12 the break statement is called halting the loop and the search for a target. Note that if no PCs are present with a strength score higher than 12, the loop will not exit (seems to be a problem with GetNextPC()).


author: Ryan Hunt, editor: Charles Feduke, Mistress, additional contributor(s): Rich Dersheimer, Box, Scott Smith, bug finder: Pondo