a = b: Difference between revisions

From Bohemia Interactive Community
Jump to navigation Jump to search
m (Text replacement - "|=GROUP1" to "|GROUP1=")
m (Text replacement - "{{HashLink" to "{{Link")
(40 intermediate revisions by 2 users not shown)
Line 1: Line 1:
{{Command|Comments=
{{RV|type=command
____________________________________________________________________________________________


| ofp |Game name=
|sortKey= #


|1.00|Game version=
|game1= ofp
|version1= 1.00


|gr1= Variables |GROUP1=
|game2= ofpe
____________________________________________________________________________________________
|version2= 1.00


| 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. Additionally, you cannot perform actions such as the following: <nowiki>a = b = c = 4;</nowiki>  |DESCRIPTION=
|game3= arma1
____________________________________________________________________________________________
|version3= 1.00


|'''<nowiki>=</nowiki>''' value |SYNTAX=
|game4= arma2
|version4= 1.00


|game5= arma2oa
|version5= 1.50


|p1= value: [[Anything]] |PARAMETER2=
|game6= tkoh
|version6= 1.00


| [[Nothing]] {{Important| '''Note:''' The returned value is not equivalent to [[nil]]. See notes below for additional information.}}|RETURNVALUE=
|game7= arma3
____________________________________________________________________________________________
|version7= 0.50
|x1 =
<code>_value <nowiki>=</nowiki> 5 </code>


<code>_mygroup <nowiki>=</nowiki> [[group]] [[player]]</code>
|gr1= Variables


<code>_greeting <nowiki>=</nowiki> "Hello!"</code>
|descr= 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.
{{Feature|important|The following structure is invalid: <sqf inline>a = b = c = 4;</sqf>.}}


<code>_enemytank <nowiki>=</nowiki> mytank1 </code> |=
|s1= variable [[a = b|=]] value


| [[Operators]] |SEEALSO=
|p1= variable: [[Anything]] - see [[Identifier]]


|p2= value: [[Anything]]
|r1= [[Nothing]] {{Feature|important|The returned value is not equivalent to [[nil]]. See {{Link|#Notes}} below for additional information.}}
|x1= <sqf>_value = 5;</sqf>
|x2= <sqf>_mygroup = group player;</sqf>
|x3= <sqf>_greeting = "Hello!";</sqf>
|x4= <sqf>private _enemyTank = myTank1;</sqf>
|seealso= [[Operators]]
}}
}}


<h3 style="display:none">Notes</h3>
{{Note
<dl class="command_description">
|user= Kronzky
<!-- Note Section BEGIN -->
|timestamp= 20061215052700
<dd class="notedate">Posted on December 15, 2006 - 05:27
|text= A conditional assignment can be done via the following syntax:
<dt class="note">[[User:Kronzky|Kronzky]]
<sqf>_msg = if (alive player) then {"you're alive"} else {"you're dead"}</sqf>
<dd class="note">A conditional assignment can be done via the following syntax:
}}
<code>_msg <nowiki>=</nowiki> if (alive player) then {"you're alive"} else {"you're dead"}</code>
<dd class="notedate">Posted on June 22, 2009 - 16:27
<dt class="note">[[User:Alef|Alef]]
<dd class="note">It's possible to assign to [[Number|numbers]]. Numbers values are not changed. Useful instead of assigning to ''nul'' or ''nil'' when a result is of no use.
<code>0 <nowiki>=</nowiki> [player] execVM "myScript.sqf"</code>
<!-- Note Section END -->
</dl>


<h3 style="display:none">Bottom Section</h3>
{{Note
|user= Alef
|timestamp= 20090622162700
|text= It's possible to assign to [[Number|numbers]]. Numbers values are not changed. Useful instead of assigning to ''nul'' or ''nil'' when a result is of no use.
<sqf>[player] execVM "myScript.sqf"</sqf>
}}


[[Category:Scripting Commands|#]]
{{Note
[[Category:Scripting Commands OFP 1.99|#]]
|user= Dedmen
[[Category:Scripting Commands OFP 1.96|#]]
|timestamp= 20161109002900
[[Category:Scripting Commands OFP 1.46|#]]
|text= This operator actually does not return a Nil. It really returns pure Nothing. Not Nil Nothing.<br>
[[Category:Scripting Commands Armed Assault|#]]
This can cause problems. For example:
[[Category:Scripting Commands Arma 2|#]]
<sqf>
[[Category:Scripting Commands Arma 3|#]]
_var1 = call {
 
_var2 = "";
<!-- CONTINUE Notes -->
};
<dl class="command_description">
</sqf>
<dd class="notedate">Posted on November 9, 2016 - 00:29 (UTC)</dd>
The return value of the "call" is the return value of the "{{=}}" operator.<br>
<dt class="note">[[User:Dedmen|Dedmen]]</dt>
If it were a nil then of cause "_var {{=}} nil;" would work just fine.<br>
<dd class="note">
But in reality this causes a "Generic Error in expression" because you can't assign pure Nothing to anything
This operator actually does not return a Nil. It really returns pure Nothing. Not Nil Nothing. <br>
}}
This can cause problems. For example:<br>
<code>_var1 <nowiki>=</nowiki> call {
    _var2 <nowiki>=</nowiki> "";
};</code>
The return value of the "call" is the return value of the "<nowiki>=</nowiki>" operator.<br>
If it were a nil then of cause "_var <nowiki>=</nowiki> nil;" would work just fine.<br>
But in reality this causes a "Generic Error in expression" because you can't assign pure Nothing to anything.<br>
</dd>
</dl>
<!-- DISCONTINUE Notes -->

Revision as of 18:44, 4 January 2023

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
Kronzky - c
Posted on Dec 15, 2006 - 05:27 (UTC)
A conditional assignment can be done via the following syntax:
_msg = if (alive player) then {"you're alive"} else {"you're dead"}
Alef - c
Posted on Jun 22, 2009 - 16:27 (UTC)
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.
[player] execVM "myScript.sqf"
Dedmen - c
Posted on Nov 09, 2016 - 00:29 (UTC)
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