a = b: Difference between revisions

From Bohemia Interactive Community
Jump to navigation Jump to search
m (Text replacement - "<code>([^<]*)\[\[([^|]+\|)(!?=?=?\+?-?)\]\]([^<]*) *<\/code>" to "<code>$1$3$4</code>")
m (Text replacement - "\|x([0-9])= *<code>([^<]*)<\/code>" to "|x$1= <sqf>$2</sqf>")
Line 37: Line 37:
|r1= [[Nothing]] {{Feature|important|The returned value is not equivalent to [[nil]]. See {{HashLink|#Notes}} below for additional information.}}
|r1= [[Nothing]] {{Feature|important|The returned value is not equivalent to [[nil]]. See {{HashLink|#Notes}} below for additional information.}}


|x1= <code>_value = 5</code>  
|x1= <sqf>_value = 5</sqf>  


|x2= <code>_mygroup = group player</code>
|x2= <sqf>_mygroup = group player</sqf>


|x3= <code>_greeting = "Hello!"</code>
|x3= <sqf>_greeting = "Hello!"</sqf>


|x4= <code>private _enemyTank = myTank1</code>
|x4= <sqf>private _enemyTank = myTank1</sqf>


|seealso= [[Operators]]
|seealso= [[Operators]]

Revision as of 10:21, 13 May 2022

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.
The following structure is invalid: a = b = c = 4;
Groups:
Variables

Syntax

Syntax:
variable = value
Parameters:
variable: Anything - see Identifier
value: Anything
Return Value:
Nothing
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
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.