getVariable – Talk

From Bohemia Interactive Community
Jump to navigation Jump to search
mNo edit summary
(→‎misleading comment: new section)
Line 14: Line 14:


--[[User:Raedor|raedor]] 10:47, 12 January 2008 (CET)
--[[User:Raedor|raedor]] 10:47, 12 January 2008 (CET)
== misleading comment ==
<!-- CONTINUE Notes -->
<dl class="command_description">
<dd class="notedate">Posted on May 17, 2015 - 20:42 (UTC)</dd>
<dt class="note">[[User:Waffle SS.|Waffle SS.]]</dt>
<dd class="note">
'''defaultValue''' is processed even if the default isn't used.
<code>[[player]] '''getVariable''' ["yolo",call {[[hint]] "!"; [[true]]}];</code>
The [[hint]] will '''always''' print, even if the "yolo" variable exists.
</dd>
</dl>
<!-- DISCONTINUE Notes -->
The comment is valid but misleading, so I moved it here. It is not true that the default value will be processed even if the variable is defined. It will be processed before when code is compiling, in order to obtain default value. It is simple array, and like with every array, if you put expression into it it will be executed in order to obtain the value.
<code>_arr = [1,2,3,4,5,6,7,8,9, call {hint "OMG11!!!! 10th element must be magical!!1!!!"}];</code> [[User:Killzone Kid|Killzone Kid]] ([[User talk:Killzone Kid|talk]]) 23:37, 17 May 2015 (CEST)

Revision as of 22:37, 17 May 2015

Only way I found to see if variable had even been assigned:

 if (format ["%1", _obj getVariable "myVar"] == "<NULL>") then {
  // initialize it
 };

--Doolittle 06:14, 11 January 2008 (CET)

This also works:

  _check = _obj getVariable "myVar";
  if (isNil "_check") then
  {
     // initialize it
  };

--raedor 10:47, 12 January 2008 (CET)

misleading comment

Posted on May 17, 2015 - 20:42 (UTC)
Waffle SS.
defaultValue is processed even if the default isn't used. player getVariable ["yolo",call {hint "!"; true}]; The hint will always print, even if the "yolo" variable exists.

The comment is valid but misleading, so I moved it here. It is not true that the default value will be processed even if the variable is defined. It will be processed before when code is compiling, in order to obtain default value. It is simple array, and like with every array, if you put expression into it it will be executed in order to obtain the value. _arr = [1,2,3,4,5,6,7,8,9, call {hint "OMG11!!!! 10th element must be magical!!1!!!"}]; Killzone Kid (talk) 23:37, 17 May 2015 (CEST)