с предупреждениями после подключения пакетов
Появление сообщений с предупреждениями после подключения пакетов объясняется следующим образом. После подключения пакета, как известно, для вызова любой проце дуры из этого пакета необходимости указывать принадлежность последней к пакету нет — и это удобно. Однако иногда подключается сразу несколько пакетов, в которых имеются процедуры с одинаковыми названиями. В таких случаях по умолчанию при соот ветствующем вызове используется процедура из пакета, подключенного последним. Например, стандартная процедура Maple (доступная без подключения каких бы то ни было пакетов) changecoords)) выполняет преобразование указанного в качестве первого ее аргумента выражения, записанного в декартовых координатах, в переменные других координатных систем (необходимая координатная система также указывается как аргумент процедуры changecoords ()). Процедура plots[changecoords ] () (процедура с таким же названием, но из пакета plots) предназначена для отображения графических структур в системах координат, альтернативных декартовой. При подключении пакета plots исходная процедура changecoords () переопределяется, о чем и выводится сообщение. Похожая ситуация имеет место и с процедурой arrow)). Что процедура arrow() из пакета plots, что из пакета plottools — обе предназначены для отображения стрелок Однако, в отличие процедуры plots [arrow] (), которая сразу выводит картинку со стрелкой, процедура plottools [arrow] () только формирует соответствующий объект, и для его отображения необходимо использовать процедуру display)). Ниже показано, как можно использовать указанные процедуры. Например, можно сначала подключить пакет plots.
В появляющемся в данном случае предупреждении упоминается только процедура changecoords)), как и должно быть. Теперь можно отобразить три стрелки единичной длиНы (параметр {[0,0,1], [0,1,0], [1,0,0]}), размещенные вдоль координатных ос центром в начале координат (параметр [0,0,0]).
На следующем этапе подключаем пакет plottools.
Поскольку в этом пакете также имеется процедура arrow)), последняя переопределяется, и об этом на экране появляется предупреждение. Поэтому если теперь вызвать ту же процедуру, что и в первом случае, интерпретироваться она будет иначе, в результате чего произойдет ошибка — синтаксис вызова процедуры в разных пакетах различный.
Содержание Назад Вперед