WordAlias .KeepInStack NOP
WordAlias [[ [
%REMARK 'Начинает определение константного массива. Пока просто мапируется на неконстантный.'
WordAlias ]] ]
%REMARK 'Заканчивает определение константного массива. Пока просто мапируется на неконстантный.'
ARRAY FUNCTION array:Copy
IN anArray
%SUMMARY
'Копирует массив anArray в другой КОНСТАНТНЫЙ массив.'
'Возвращает [nil] если исходный массив nil или пустой.'
;
RULES
( anArray IsNil )
[nil]
DEFAULT
(
VAR l_Empty
true >>> l_Empty
[[
anArray .for> (
// .KeepInStack
// - это теперь не нужно, непустой функтор и так есть
false >>> l_Empty
) // anArray .for>
]]
RULES
l_Empty
( DROP [nil] )
; // RULES
)
; // RULES
>>> Result
; // array:Copy
ARRAY FUNCTION array:CopyNotNil
IN anArray
%SUMMARY
'Копирует массив anArray в другой массив.'
'ВСЕГДА возвращает НЕ nil.'
;
[ anArray .for> .KeepInStack ]
>>> Result
; // array:CopyNotNil
Заметки о тестировании, программировании и прочий "поток сознания", который жалко писать "в стол"
пятница, 22 апреля 2016 г.
#1231. Скрипты. Получение копии массива
Подписаться на:
Комментарии к сообщению (Atom)
Комментариев нет:
Отправить комментарий