* Данный текст распознан в автоматическом режиме, поэтому может содержать ошибки
1094
Программирование в системах компьютерной алгебры
• $MessageList – глобальная переменная, возвращающая список имен сооб щений, вырабатываемых во время вычисления текущей входной строки. Имя каждого сообщения заключено в HoldForm[ ]. $MessageList сохраня ется в MessageList[n] и переустанавливается в { } после того, как произведе на n ая выходная строка. • MessageList[n] – глобальный объект, который является списком имен (со общений), которые вырабатываются в процессе обработки n ой входной линии. • MessageName – применяется в виде: symbol::tag или • MessageName[symbol, \"tag\"] – имя для сообщения. • $MessagePrePrint – глобальная переменная, чье значение, если установле но, применяется к выражениям перед тем, как они помещаются в тексте со общений. • $Messages – возвращает список файлов и каналов, в которые направляется вывод сообщений. • Messages[symbol] – возвращает все сообщения, присвоенные данному символу symbol. Следует отметить, что широкое применение комментариев обычно является признаком культуры программирования. Это особенно важно для математичес ких систем, реализующих вычисления по сложным и подчас малопонятным для неспециалистов алгоритмам.
14.3.16. Защита идентификаторов от модификации
Как отмечалось, система Mathematica позволяет вводить константы, переменные и функции со своими именами – идентификаторами. Между функциями можно задавать различные отношения, в том числе и те, которые не соответствуют пра вилам, заданным в ядре системы. Идентификаторы должны быть уникальными, то есть не совпадать с именами встроенных функций, директив, опций, переменных и констант. Однако как быть, если нужно задать новое отношение для уже имеющихся встроенных функций или изменить их определения? Для решения таких вопросов в систему введена защита идентификаторов от модификации, которая при необходимости может сниматься. Все встроенные в ядро поименованные объекты языка программирования системы являются защи щенными по умолчанию. Они имеют признак – атрибут Protected (защищенный). Для управления средствами защиты от модификации используются следую щие директивы: • Protect[s1, s2, ...] – устанавливает атрибут защиты от модификации Protected для перечисленных символов si. • Protect[\"form1\", \"form2\", ...] – устанавливает атрибут защиты от мо дификации для всех символов, имена которых сопоставимы с любым из указанных строковых шаблонов formi.