breakOut: Difference between revisions

From Bohemia Interactive Community
Jump to navigation Jump to search
(explanations)
mNo edit summary
Line 7: Line 7:
____________________________________________________________________________________________
____________________________________________________________________________________________


| Breaks the code execution out of scope {} named ''name''. Nil is returned. Scope name can be assigned using [[scopeName]] command.
| Breaks the code execution out of scope {} named ''name''. [[nil]] is returned. Scope name can be assigned using [[scopeName]] command.


<br><br>
<br><br>
Since Arma 3 v1.47, [[breakOut]] can be used to return ''value''. It is the closest SQF comes to having "return" like operation. |= Description
Since Arma 3 v1.47, [[breakOut]] can be used to return a ''value''. It is the closest SQF comes to having "return" like operation. |= Description
____________________________________________________________________________________________
____________________________________________________________________________________________



Revision as of 21:35, 24 June 2015

-wrong parameter ("Arma") defined!-1.00
Hover & click on the images for description

Description

Description:
Breaks the code execution out of scope {} named name. nil is returned. Scope name can be assigned using scopeName command.

Since Arma 3 v1.47, breakOut can be used to return a value. It is the closest SQF comes to having "return" like operation.
Groups:
Uncategorised

Syntax

Syntax:
breakOut name
Parameters:
name: String - name of the scope (previously set with scopeName)
Return Value:
Nothing

Alternative Syntax

Syntax:
value breakOut name         (since Arma 3 v1.47)
Parameters:
value: Anything - a value to return
name: String - name of the scope (previously set with scopeName)
Return Value:
Anything

Examples

Example 1:
scopeName "main"; while {true} do { scopeName "loop1"; while {true} do { scopeName "loop2"; if (condition1) then {breakTo "main"}; // Breaks all scopes and return to "main" if (condition2) then {breakOut "loop2"}; // Breaks scope named "loop2" sleep 1; }; sleep 1; };
Example 2:
call { scopeName "main"; call { 123 breakOut "main" }; 345 }; // call returns 123

Additional Information

See also:
scopeNamebreakToexitWith

Notes

Report bugs on the Feedback Tracker and/or discuss them on the Arma Discord or on the Forums.
Only post proven facts here! Add Note

Notes

Posted on 19 Aug, 2008
alef
When "name" is nil, the command is ignored.
When "name" is an undefined scope name or "", the script quits current scope. if (true) then { hint "1"; breakOut nil; hint "2"; }; //result "2" if (true) then { hint "1"; breakOut ""; hint "2"; }; //result "1" if (true) then { hint "1"; breakOut "dskfhdsklfh"; hint "2"; }; //result "1"

Bottom Section