Здесь показаны различия между двумя версиями данной страницы.
Both sides previous revision Предыдущая версия Следущая версия | Предыдущая версия | ||
help:tuples [2024/12/01 08:02] aleks_versus arrpack, unpackarr |
help:tuples [2025/07/20 15:02] (текущий) aleks_versus |
||
---|---|---|---|
Строка 182: | Строка 182: | ||
*pl $STR([5,7,'a']) &! на экране увидим [5,7,'a'] | *pl $STR([5,7,'a']) &! на экране увидим [5,7,'a'] | ||
</sxh> | </sxh> | ||
- | * ''%%ARRPACK([$имя_массива], [#начальный_индекс], [#количество])%%'' - упаковывает массив ''[$имя_массива]'' в кортеж. | + | * ''%%%ARRPACK([$имя_массива], [#начальный_индекс], [#количество])%%'' - упаковывает массив ''[$имя_массива]'' в кортеж. |
* Можно указать, сколько элементов ''[#количество]'' упаковать в кортеж, и с какого элемента ''[#начальный_индекс]'' начинать упаковку. Параметры опциональны, по умолчанию ''[#начальный_индекс]'' равен нулю, а ''[#количество]'' соответствует размеру массива. | * Можно указать, сколько элементов ''[#количество]'' упаковать в кортеж, и с какого элемента ''[#начальный_индекс]'' начинать упаковку. Параметры опциональны, по умолчанию ''[#начальный_индекс]'' равен нулю, а ''[#количество]'' соответствует размеру массива. | ||
* Функция возвращает кортеж с упакованными значениями. | * Функция возвращает кортеж с упакованными значениями. | ||
* Примеры: <sxh qsp> | * Примеры: <sxh qsp> | ||
- | LOCAL type, name = ARRPACK('args') | + | LOCAL type, name = %ARRPACK('args') |
! Из массива char берём пять элементов, начиная со второго, и упаковываем в кортеж: | ! Из массива char берём пять элементов, начиная со второго, и упаковываем в кортеж: | ||
- | %unit[123] = ARRPACK('char', 2, 5) | + | %unit[123] = %ARRPACK('char', 2, 5) |
</sxh> | </sxh> | ||
* ''%%UNPACKARR [$имя_массива], [%кортеж], [#начальный_индекс], [#количество]%%'' - распаковывает значения из кортежа ''[%кортеж]'' в массив ''[$имя_массива]''. | * ''%%UNPACKARR [$имя_массива], [%кортеж], [#начальный_индекс], [#количество]%%'' - распаковывает значения из кортежа ''[%кортеж]'' в массив ''[$имя_массива]''. | ||
Строка 201: | Строка 201: | ||
</sxh> | </sxh> | ||
* оператор позволяет извлечь из кортежа одно значение по указанному индексу: <sxh qsp> | * оператор позволяет извлечь из кортежа одно значение по указанному индексу: <sxh qsp> | ||
- | UNPACKARR 'A', ['тест','нескольких','значений',67, ['вложенный кортеж']], 3, 1 | + | %tpl = ['тест','нескольких','значений',67, ['вложенный кортеж']] |
+ | UNPACKARR 'A', %tpl, 3, 1 | ||
! в A будет 67 | ! в A будет 67 | ||
</sxh> | </sxh> |