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
Заметки о тестировании, программировании и прочий "поток сознания", который жалко писать "в стол"
Комментариев нет:
Отправить комментарий