a = b: Difference between revisions

From Bohemia Interactive Community
Jump to navigation Jump to search
m (Text replacement - " *\| *([Cc]omments|COMMENTS|Game|[Gg]ame [Nn]ame|Game [Vv]ersion|Game Version \(number surrounded by NO SPACES\)|Multiplayer Arguments \("local" or "global"\)|Multiplayer Effects \("local" or "global"\)|Multiplayer Execution \("serv...)
m (Text replacement - "<h3 style="display:none">Bottom Section</h3> " to "")
Line 43: Line 43:
</dl>
</dl>


<h3 style="display:none">Bottom Section</h3>


[[Category:Scripting Commands|#]]
[[Category:Scripting Commands|#]]

Revision as of 02:31, 18 January 2021

Hover & click on the images for description

Description

Description:
Assigns the result of expression on the right to the variable on the left. Technically this is not a command and it is not listed in supportInfo; this is more of a compiler instruction.
You cannot perform actions such as the following: a = b = c = 4;
Groups:
Variables

Syntax

Syntax:
variable = value
Parameters:
variable: Anything - see Identifier
value: Anything
Return Value:
Nothing
Note: The returned value is not equivalent to nil. See notes below for additional information.

Examples

Example 1:
_value = 5
Example 2:
_mygroup = group player
Example 3:
_greeting = "Hello!"
Example 4:
private _enemyTank = myTank1

Additional Information

See also:
Operators

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 December 15, 2006 - 05:27
Kronzky
A conditional assignment can be done via the following syntax: _msg = if (alive player) then {"you're alive"} else {"you're dead"}
Posted on June 22, 2009 - 16:27
Alef
It's possible to assign to numbers. Numbers values are not changed. Useful instead of assigning to nul or nil when a result is of no use. 0 = [player] execVM "myScript.sqf"
Posted on November 9, 2016 - 00:29 (UTC)
Dedmen
This operator actually does not return a Nil. It really returns pure Nothing. Not Nil Nothing.
This can cause problems. For example:
_var1 = call { _var2 = ""; }; The return value of the "call" is the return value of the "=" operator.
If it were a nil then of cause "_var = nil;" would work just fine.
But in reality this causes a "Generic Error in expression" because you can't assign pure Nothing to anything.