switch do: Difference between revisions

From Bohemia Interactive Community
Jump to navigation Jump to search
(braces is a term used to describe curly brackets, changed to unambiguos 'parentheses')
(Redirect to switch)
Tag: New redirect
 
(45 intermediate revisions by 17 users not shown)
Line 1: Line 1:
{{Command|= Comments
#REDIRECT [[switch]]
____________________________________________________________________________________________
 
| arma |= Game name
 
|1.00|= Game version
____________________________________________________________________________________________
 
| Switch form. |= Description
____________________________________________________________________________________________
 
| switch '''do''' block |= Syntax
 
|p1= switch: [[Switch Type]] |= Parameter 1
 
|p2= block: [[Code]] |= Parameter 2
 
| [[Anything]] |= Return value
____________________________________________________________________________________________
|x1 =  <code>[[switch]] (_a) '''do''' {[[case]] 1: {hint "1"}; [[case]] 2: {hint "2"}; default {hint "default"};} </code>
 
|x2 =  <code>[[switch]] (_a) '''do''' {[[case]] true: {hint "true"}; [[case]] false: {hint "false"}; default {hint "default"};} </code>
 
|x3 =  <code>[[switch]] (_a) '''do''' {[[case]] "string1": {hint "string1"}; [[case]] "string2": {hint "string2"}; default {hint "default"};} </code>
 
 
| [[Control Structures]]  |= See also
 
}}
 
<h3 style="display:none">Notes</h3>
<dl class="command_description">
<!-- Note Section BEGIN -->
 
<dd class="notedate">Posted on 07 Aug, 2008</dd>
<dt class="note">'''[[User:ColonelSandersLite|ColonelSandersLite]]'''</dt><dd class="note"><br>
Be careful of the parenthesis around the variable you're switching on.  If you accidentally use braces instead (ex: switch {_myVar} do{...), it won't error, but will always return default.<br>
</dd>
 
<dd class="notedate">Posted on 11 Aug, 2008</dd>
<dt class="note">'''[[User:Dr_Eyeball|Dr_Eyeball]]'''</dt><dd class="note">
Using [[switch]] with strings is case-sensitive, (unlike string comparisons).
</dd>
 
<dd class="notedate">Posted on 12 Aug, 2008</dd>
<dt class="note">'''[[User:General_Barron|General Barron]]'''</dt><dd class="note">
To be safe about the case sensitivity issue, use the [[toLower]] or [[toUpper]] command to force all strings to a certain case.
</dd>
 
<dd class="notedate">Posted on 06 Oct, 2008</dd>
<dt class="note">'''[[User:Iva|Iva]]'''</dt><dd class="note">
It's possible to use [[Boolean]] value as a switch and [[Code]] as case. One thing to take special care in such case is that code must be in parentheses. Example:
<code>
switch (true) do
{
case (_boolVar): {someCode};
case (unit1 distance unit2 > 5): {someCode};
};
</code>
</dd>
 
<!-- Note Section END -->
</dl>
 
[[Category:Scripting Commands|DODSWITCH]]
[[Category:Scripting Commands ArmA|DODSWITCH]]
[[Category:ArmA: Control Structures|DOSWITCH]]
[[Category:Command Group: Program Flow|DOSWITCH]]

Latest revision as of 16:14, 6 June 2021

Redirect to: