Впринципе подойдет, хоть в массиве и будет все записано как _groups=[_groups, _groups,_groups...] но можно будет выцепить по индексу
Что бл**? _groups это ссылка на массив, никаких там ссылок самого на себя в жизни не будет.
_groups = []; //_groups == []
_groups pushBack 1; //_groups == [1]
_groups pushBack 2; //_groups == [1, 2]
_groups pushBack "Hello World! #1"; //_groups == [1, 2, "Hello World! #1"]
_myVar = "Hello World! #2"; //_groups == [1, 2, "Hello World! #1"]
_groups pushBack _myVar; //_groups == [1, 2, "Hello World! #1", "Hello World! #2"]
_myVar = "Hello World! #3"; //_groups == [1, 2, "Hello World! #1", "Hello World! #2"]
_groups pushBack _myVar; //_groups == [1, 2, "Hello World! #1", "Hello World! #2", "Hello World! #3"]
_groups pushBack _groups; //_groups == [1, 2, "Hello World! #1", "Hello World! #2", "Hello World! #3", _groups] и ошибка при попытке это вывести на экран т. к. команда вывода зациклится из-за рекурсивной связи
а что делать например с массивом?
Да делайте что хотите, какие проблемы? Например вывести на экран значение массива по строчно:
private _myArray1 = [];
private _myArray2 = [1, 2, 3, 4];
{
_myArray1 pushBack format ["INDEX: %1; VALUE: %2;", _forEachIndex, _x];
} forEach _myArray2;
hint (_myArray1 joinString toString [92,110]);
_stroka = compile format [“unit%1”,_i];
С локальными переменными вообще не прокатит ни один трюк по изменению их имени и определения значения, если эту переменную нужно использовать в текущей области видимости. Да и вообще это выглядит больше как издевательство над человеком читающий данный код
Edited by vlad333000, 05 March 2018 - 00:09.