From Bohemia Interactive Community
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
- 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