params – Talk

From Bohemia Interactive Community
Revision as of 15:56, 30 May 2021 by Lou Montana (talk | contribs) (Text replacement - "\[https?\:\/\/en\.wikipedia\.org\/wiki\/([^ ]+) (.+)\]" to "{{Wikipedia|$1|$2}}")
Jump to navigation Jump to search

If expectedDataTypes is excluded does the command use the default value as the expected data type? --SS (talk) 03:01, 17 July 2015 (CEST)

What? The command doesnt need to check data types if data type checking isnt used...Benargee (talk) 03:20, 17 July 2015 (CEST)
Thanks, that answers my question SS (talk) 13:34, 17 July 2015 (CEST)

Indirectly related

Posted on April 3, 2019 - 00:39 (UTC)
dreadedentity
Params really shines when used in recursive functions. _myTestVar = 0; systemChat str _myTestVar; _myTestVar call { _myTestVar = _this + 1; _myTestVar call { _myTestVar = _this + 1; } }; systemChat str _myTestVar; Outputs 0 2 0 params ["_myTestVar"]; systemChat str _myTestVar; _myTestVar call { (_this + 1) params ["_myTestVar"]; _myTestVar call { (_this + 1) params ["_myTestVar"]; } }; systemChat str _myTestVar; Outputs 0 0
This happens because of the cascading nature of recursion, inner-level functions create variables of the same name, thus they are of the same name and a lower scope, therefore the engine treats them as though they are the same variable. Params gets around this, most likely, by creating a new, unique application-level variable under the hood, despite being of the same name.