![]() |
#5 |
Участник
|
Вообще интересная ситуация.
Если поменять Dimension value, result; на явное объявление массива str value[10], result[10]; то получается ошибка времени выполнения - Неверная операция над массивом данного типа - что как-бы намекает на некорректность кода. Если же сменить тип данных со string на real (как нужно было в реальной задаче), то джоб выполняется без ошибок, но в результате выполнения нули, а на больших выборках - мусор. При этом аксапта ни на что не ругается ![]() X++: static void ArrayMapExample3(Args _args) { real value[3]; real result[3]; Map map; MapEnumerator me; int64 key; ; map = new Map(Types::Int64, Types::Real); key = 1; value[1] = 1.0; value[2] = 2.0; value[3] = 3.0; map.insert(key, value); key = 2; value[1] = 3.0; value[2] = 2.0; value[3] = 1.0; map.insert(key, value); key = 3; value[1] = 1.0; value[2] = 3.0; value[3] = 2.0; map.insert(key, value); me = map.getEnumerator(); while (me.moveNext()) { key = me.currentKey(); result = me.currentValue(); info(strfmt('%1;%2;%3;%4', key, result[1], result[2], result[3])); } } Думаю свернуть свои эксперименты с массивами и использовать контейнер. Спасибо! |
|
Теги |
dimensions, map |
|
|