breakOut

From Bohemia Interactive Community
Revision as of 22:34, 22 January 2021 by Lou Montana (talk | contribs) (Text replacement - "{{Command " to "{{RV|type=command ")
Jump to navigation Jump to search
Hover & click on the images for description

Description

Description:
Description needed
Groups:
Program Flow

Syntax

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

Alternative Syntax

Syntax:
value breakOut name Template:Since
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:
See also needed

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


Posted on August 27, 2015 - 16:09 (UTC)
Polaris
breakOut can still be used if multiple scopes share identical names. It will simply break out of the nearest scope that matches the name parameter you've used. For example: call { scopeName "Main"; //Parent Main call { scopeName "Main"; //Child Main "String" breakOut "Main"; //Will break out of child main and return "String" to parent main }; }; Therefore you are able to consistently reuse scope names such as "Main", "Child", "Primary", "Secondary", etc throughout functions without worrying about having to ensure you create unique names for each scope.