Break: Difference between revisions

From EDukeWiki
Jump to navigation Jump to search
Document CON's weird 'break' behavior inside 'while' loops.
Fox (talk | contribs)
No edit summary
(2 intermediate revisions by 2 users not shown)
Line 1: Line 1:
A single '''break''' command can be
A single '''break''' command can be used to stop code after the '''break''' from executing. Can also be used to exit a [[state]] early. Also used inside [[switch]] blocks to close '''[[case]]''' statements.
used to stop code after the '''break''' from executing. Can also be used to exit a [[state]] early. Also used inside [[switch]] blocks to close '''[[case]]''' statements.


Inside '''while''' loops, a '''break''' transfers control to the beginning of the loop where the condition for continuing the iteration is checked. This is in contrast to most imperative programming languages, where a '''break''' inside a loop transfers control to just after the end of the loop body (thus "breaking" it). For example, in CON, the snippet
Inside '''while''' loops, a '''break''' transfers control to the beginning of the loop where the condition for continuing the iteration is checked. This is in contrast to most imperative programming languages, where a '''break''' inside a loop transfers control to just after the end of the loop body (thus "breaking" it). For example, in CON, the snippet
See also [[return]].
== Examples ==


     setvar j 0
     setvar j 0
Line 10: Line 13:
         userquote 500
         userquote 500
         break  // while is inner: "continue"
         break  // while is inner: "continue"
        userquote 400
     }
     }


makes quote 500 be displayed ''three'' times in total.
makes quote 500 be displayed ''three'' times in total and quote 400 not a single time.


[[Category:Duke3D 1.3/1.5 commands]]
[[Category:Duke3D 1.3/1.5 commands]]
[[Category:Event manipulation]]

Revision as of 01:25, 20 February 2020

A single break command can be used to stop code after the break from executing. Can also be used to exit a state early. Also used inside switch blocks to close case statements.

Inside while loops, a break transfers control to the beginning of the loop where the condition for continuing the iteration is checked. This is in contrast to most imperative programming languages, where a break inside a loop transfers control to just after the end of the loop body (thus "breaking" it). For example, in CON, the snippet

See also return.

Examples

   setvar j 0
   whilevarn j 3
   {
       addvar j 1
       userquote 500
       break  // while is inner: "continue"
       userquote 400
   }

makes quote 500 be displayed three times in total and quote 400 not a single time.