Текстовые сообщения и комментарии
Ценность многих программ на любом языке программирования нередко сводится к нулю из-за отсутствия подробных текстовых комментариев. Из-за этого даже сами разработчики программ через месяц-другой перестают понимать собственные творения. А что говорить о пользователях, рискующих применить такие программы?
Для создания текстовых комментариев различного назначения (как выводимых, так и не выводимых на экран в ходе работы с пакетом) в языке программирования системы Mathematica используются следующие средства:
- (* Comment *) – задание не выводимого на экран текстового комментария, как однострочного, так и многострочного, в любом месте пакета;
- Message [symbol:: tag] – вывод сообщения symbol::tag, если только вывод сообщений не отключен;
- Message [symbol::tag, e1, e2,…] – выводит сообщение, вставляя значения ei по мере необходимости;
- $MessageList – глобальная переменная, возвращающая список имен сообщений, вырабатываемых во время вычисления текущей входной строки. Имя каждого сообщения заключено в HoldForm [ ]. $MessageList сохраняется в MessageList [n] и переустанавливается в { } после того, как произведена n-я выходная строка;
- MessageList [n] – глобальный объект, который является списком имен (сообщений), которые вырабатываются в процессе обработки n-й входной строки;
- MessageName – применяется в виде symbol:: tag или MessageName [symbol, "tag" ] – имя для сообщения;
- $MessagePrePrint – глобальная переменная, чье значение, если установлено, применяется к выражениям перед тем, как они помещаются в текст сообщений;
- $Messages – возвращает список файлов и каналов, в которые направляется вывод сообщений;
- Messages [symbol] – возвращает все сообщения, присвоенные данному символу symbol.
Следует отметить, что широкое применение комментариев обычно является признаком культуры программирования. Это особенно важно для математических систем, реализующих вычисления по сложным и подчас малопонятным для неспециалистов алгоритмам. Без подробных комментариев пакеты расширений и применений теряют свою практическую полезность и превращаются в ребусы – увы, куда менее интересные, чем те, которые публикуются в газетах и журналах.