* Данный текст распознан в автоматическом режиме, поэтому может содержать ошибки
1090
Программирование в системах компьютерной алгебры
(со старыми контекстами) заменяются новыми одноименными с ними, но имею щими иные контексты. Для получения списка всех определений с заданным контекстом можно ис пользовать функции Name["Context`S"], где S – символ или строка, определяю щие имена определений. Например, для получения всех определений с контек стом System` можно использовать функцию Name["System`*]. Поскольку этот список довольно большой, ограничимся примером вывода всех определений с контекстом System`, начинающихся с буквы U:
Names[«System`U*»] {UnAlias,Underflow,Underoverscript,UnderoverscriptBox, UnderoverscriptBoxOptions,Underscript,UnderscriptBox, UnderscriptBoxOptions,UndocumentedTestFEParserPacket, UndocumentedTestGetSelectionPacket,Unequal,Unevaluated,Uninstall, Union,Unique,UnitStep,Unprotect,UnsameQ,Unset,Up,Update,UpperCaseQ, UpSet,UpSetDelayed,UpValues,URL,Using}
Функция Name[] без параметра выводит полный список всех определений как ядра, так и всех определений в пакетах расширений с указанием их контекстов. Таким образом, данная функция дает самую полную информацию об определени ях (функциях, константах и т. д.), которые имеет текущая версия системы Mathe matica.
14.3.15. Подготовка пакетов расширений системы Mathematica
Мощным средством расширения возможностей системы Mathematica является подготовка пакетов ее расширений. Пакеты расширений позволяют создавать но вые процедуры и функции и хранить их на диске в виде файлов с расширением .m. После считывания такого пакета с диска все входящие в него определения функций становятся доступными для использования в соответствии с правилами, приняты ми для встроенных функций. Текст пакета расширения не выводится после его вы зова, чтобы не загромождать документ вспомогательными описаниями. Структура пакета расширений в минимальном виде выглядит следующим об разом:
(*Aaiaiue eiiiaioa?ee*) BeginPackage["Eiy_iaeaoa`"] Mean::usage = "Eiy ooieoee[Ia?aiao?u] Oaenoiaue eiiiaioa?ee" ............................................................ Begin["`Private`"] Unprotected[Nienie_eiai] Ii?aaaeaiey iiauo ooieoee End[ ] Onoaiiaea ao?eaooia caueou EndPackage[ ] (* Caaa?oa?uee eiiiaioa?ee *)