Операции ввода и вывода
Обратите особое внимание на правильное задание полного имени файла. Обычно применяемый для указания пути знак \ в строках Maple-языка используется как знак продолжения строки. Поэтому надо использовать либо двойной знак \\, либо знак /. В нашем примере файл записан в корень диска С. Лучше поместить библиотечный файл в другую папку (например, в библиотеку, уже имеющуюся в составе системы), указан полный путь до нее.
После всего этого надо убедиться в том, что библиотечный файл записан. После этого можно сразу и считать его. Для этого вначале следует командой restart устранить ранее введенные определения процедур:
> restart;
С помощью команды with можно убедиться в том, что этих определений уже нет:
> with(mylib): Error, (in pacman:-pexports) mylib is not a package
После этого командой read надо загрузить библиотечный файл:
> read('c:/mylib.m');
Имя файла надо указывать по правилам, указанным для команды save. Если все выполнено пунктуально, то команда with должна показать наличие в вашей библиотеке списка процедур f1, f2 и f3:
> with(mylib): [f1 .f2 .f3]
И наконец, можно вновь опробовать работу процедур, которые теперь введены из загруженной библиотеки:
> f1(x): sin(x) + cos(x) > simplify(f2(y}); 1 > f3(0): 1 > f3(1.); .8414709848
Описанный выше способ создания своей библиотеки вполне устроит большинство пользователей. Однако есть более сложный и более "продвинутый" способ ввода своей библиотеки в состав уже имеющейся. Для реализации этого Maple 7 имеет следующие операции записи в библиотеку процедур s1, s2,… и считывания их из файлов file1, file2,…:
savelib(s1 .s2,… .sn, filename) readlib(f .file1 .file2….)
С помощью специального оператора makehelp можно задать стандартное справочное описание новых процедур:
makehelp(n.f.b).
Где n – название темы, f – имя текстового файла, содержащего текст справки (файл готовится как документ Maple) и b – имя библиотеки. Системная переменная libname хранит имя директории библиотечных файлов.
Для регистрации созданной справки надо исполнить команду вида:
libname:-libname. '/mylib":
С деталями применения этих операторов можно ознакомиться в справочной системе.
К созданию своих библиотечных процедур надо относиться достаточно осторожно. Их применение лишает ваши Maple-программы совместимости со стандартной версией Maple 7. Если вы используете одну-две процедуры, проще поместить их в те документы, в которых они действительно нужны. Иначе вы будете вынуждены к каждой своей программе прикладывать еще и библиотеку процедур. Она нередко оказывается большей по размеру, чем файл самого документа. Не всегда практично прицеплять маленький файл документа к большой библиотеке, большинство процедур которой, скорее всего, для данного документа попросту не нужны. Особенно рискованно изменять стандартную библиотеку Maple 7.
Впрочем, идти на это или нет – дело каждого пользователя. Разумеется, если вы готовы создать серьезную библиотеку своих процедур, то ее надо записать и тщательно хранить. С Maple 7 поставляется множество библиотек полезных процедур, составленных пользователями со всего мира, так что и вы можете пополнить ее своими творениями (см. урок 14).