with: Difference between revisions
Jump to navigation
Jump to search
Lou Montana (talk | contribs) m (Some wiki formatting) |
Hypoxic125 (talk | contribs) No edit summary |
||
Line 82: | Line 82: | ||
|seealso= [[missionNamespace]] [[uiNamespace]] [[parsingNamespace]] [[currentNamespace]] | |seealso= [[missionNamespace]] [[uiNamespace]] [[parsingNamespace]] [[currentNamespace]] | ||
}} | |||
{{Note | |||
|user= Hypoxic125 | |||
|timestamp= 20230223070505 | |||
|text= '''Using with:''' | |||
<sqf> | |||
with profileNamespace do { | |||
myVariable = "Hello!"; | |||
}; | |||
</sqf> | |||
'''is the same as:''' | |||
<sqf> | |||
profileNamespace setVariable ["myVariable", "Hello!"]; | |||
</sqf> | |||
This allows you to quickly modify variables within a namespace without using '''get/setvariable''' every time. | |||
}} | }} |
Revision as of 08:05, 23 February 2023
Description
- Description:
- Creates a With Type that is used inside a do construct in order to execute code inside a given namespace.
- Problems:
- When used in a do-construct in scripts with allowed suspension, a namespace switching might unexpectedly occur inside some scopes (for, if, try, call) started in a scheduled environment after small suspension if with was not the main scope; however, the issue does not arise if with is used in the parent scope:
namespace switch risk namespace switch safe ] spawn { with uiNamespace do { for "_i" from 1 to 1 do { systemChat str [ currentNamespace isEqualTo uiNamespace, currentNamespace isEqualTo missionNamespace ]; // result [true, false] sleep 0.05; // <-- small suspension systemChat str [ currentNamespace isEqualTo uiNamespace, currentNamespace isEqualTo missionNamespace ]; // result [false, true] <-- switching }; }; };with uiNamespace do { [] spawn { for "_i" from 1 to 1 do { systemChat str [ currentNamespace isEqualTo uiNamespace, currentNamespace isEqualTo missionNamespace ]; // result [true, false] sleep 0.05; // <-- small suspension systemChat str [ currentNamespace isEqualTo uiNamespace, currentNamespace isEqualTo missionNamespace ]; // result [true, false] <-- NO switching }; }; }; - Groups:
- Program FlowNamespaces
Syntax
Examples
- Example 1:
- Example 2:
Additional Information
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 Feb 23, 2023 - 07:05 (UTC)
-
Using with:
is the same as:This allows you to quickly modify variables within a namespace without using get/setvariable every time.