Функция. Передача параметра по ссылке

Обсуждение ПО и его настройки
Ответить
vladimir.alekseev
Сообщения: 20
Зарегистрирован: 17 авг 2019, 16:34

RB2011 ROS6
Есть функция в которую передавался array
Внутри функции менялись значения элементов. После выхода, этот массив был с измененными данными.
После обновления до ROS7
После выхода массив остается неизменным.
Может кто поможет?
Что-то примерно так:
:global func do={
#param p1 - array
:local loc_arr [:toarray ""]
if ( [:typeof p1]="nothing" ) do={
:set loc_arr $global_array
} else={
:set loc_arr $p1
}
# тут работа с loc_arr, меняем ...
:set ($loc_arr->el1) "test"
}

И после выхода в зависимости от p1, менялся или глобальный массив, или переданный в функцию (ROS6)

В ROS7, ничего не меняется после выхода из функции. Внутри функции конечно все работает.


Ответить