Следует помнить, что элементу со строковым индексом QSP автоматически присваивает первый свободный числовой индекс. Т.е. если у нас уже заполнены элементы 0, 1 , 2, то присваивание значения элементу Массив['опа'], автоматически создаст элемент с индексом 3, т.е. Массив[3]. Подобную особенность работы QSP с массивами следует учитывать при разработке функций с параметрами по умолчанию, т.е. которые указывать не нужно.
#СравнитьСтроку
$ARGS['с_чем_сравниваем']='123'
!----------
if $ARGS[0]=$ARGS['с_чем_сравниваем']:
*NL 'строки совпадают!'
else
*NL 'строки различаются!'
end
-Вызов данного кода без указания параметра, т.е. GS 'СравнитьСтроку', выведет на экран "строки совпадают!", поскольку в первой же строке функции QSP (поскольку параметр функции не указан) создаст переменную $ARGS[0]. Вызов функции с указанием всех параметров поможет в этой ситуации (GS 'СравнитьСтроку',''), но лучше подстраховаться и первым делом определить в самой функции всем нужным параметрам значения по умолчанию.
#СравнитьСтроку
if ARRSIZE('ARGS')<1: $ARGS[0]=''
!----------
$ARGS['с_чем_сравниваем']='123'
!----------
if $ARGS[0]=$ARGS['с_чем_сравниваем']:
*NL 'строки совпадают!'
else
*NL 'строки различаются!'
end
-Неактивен