2013-10-09 1 views
1

В настоящее время я использую математическое программное обеспечение «Maple» из командной строки, в основном как мощный калькулятор. Я написал простую кленовую библиотеку, содержащую мои вспомогательные функции. Я хочу загрузить его во время запуска клена. (Эта задача почти эквивалентна загрузке файла .bashrc или .bash_profile при запуске оболочки).клен: как включить мою библиотеку при запуске

Как это сделать в Maple? Это сложнее, чем ожидалось, и плохо документировано.

Что у меня есть сейчас скомпилированный Maple lib в каталоге Maple в моем домашнем каталоге.

На клен оболочки/РЕПЛ я делаю это, чтобы загрузить этот файл (а затем зЬй ОМТ):

libname := "/home/knut/.maple/12/mylibs", "/opt/maple12/lib"; 
with(knb_ee); 

[argumentd, hz2rad, listPhasors, фаза, постепенно, phasorTheta, phasorThetaSum, polard, proc1, proc2, rad2hz]

Я хочу, чтобы две команды выше выполнялись при запуске клена. Хоу сделать это? В моем домашнем каталоге есть .maple/12/dir, и там я нахожу файл «maplerc» (это не dotfile). Это путь?

Update: Это описание от поставщика MAPLESOFT кажется вводит в заблуждение меня, потому что нет таких каталогов, как указано ниже:

UNIX и Linux

Под UNIX и Linux, персональной инициализации файл называется .mapleinit, а глобальный файл инициализации называется init. Команды в файле инициализации будут выполняться всеми пользователями в сети , поместив файл в каталог Maple lib, для примера , $ MAPLE/lib/init.

Для выполнения персонального набора команд пользователя файл инициализации должен быть помещен в домашний каталог пользователя под UNIX, например $ HOME/.mapleinit.

Maple считывает и выполняет файл инициализации сети перед личным файлом инициализации .

http://www.maplesoft.com/support/help/Maple/view.aspx?path=worksheet/reference/initialization

ответ

2

Попробуйте создать /home/knut/.mapleinit как новый файл, содержащий команды, которые вы хотите выполнить.

У вас должен быть домашний каталог для вашей учетной записи пользователя Linux. Вы должны быть в состоянии изменить каталог в это место с помощью команды, например,

cd ~ 

или

cd $HOME 

Последней использует переменные окружения HOME, которого присваивается значение, которое вы могли бы также проверить путем выдачи команда echo $HOME. Из вашего сообщения кажется, что ваш домашний каталог - /home/knut.

В любом случае, самый простой способ - создать новый файл .mapleinit в вашем домашнем каталоге и поместить в этот файл открытого текста команды Maple, которые вы хотите выполнить автоматически при запуске.

Поэтому документация упоминает его как $HOME/.mapleinit, так как этот файл, как правило, идут в вашем домашнем каталоге. Этот файл не будет существовать, пока вы его не создадите вручную. Это нормально (для Maple).

Даже если такой файл инициализации, как ~/.mapleinit, существует, вы все равно можете запускать его без использования опции -s для сценария maple.

Или вы можете указать любой другой файл по вашему выбору в качестве файла инициализации с помощью опции -i. Например,

maple -i somedirectory/somefile 

Еще один способ (немного сложнее, если вы должны экранировать кавычки), чтобы использовать один из дополнительного экземпляра опции -c при вызове maple сценария. Это еще один способ выпустить несколько различных команд при запуске. На самом деле существует немало способов достижения ваших целей.

+0

спасибо за это подробное объяснение, но почему там .maple/12/и файл ~/.maple/12/maplerc? Что там происходит? Настройки для GUI-версии клена? Этот файл должен быть отредактирован пользователем? Должен ли код для библиотек храниться здесь в этом файле ~/.maple/12/dir или в ~/.maple или в другом месте? (Это почти второй независимый вопрос.) – knb

+0

Каталоги под ~/.maple/не предназначены для пользователя. Они используют Maple для сохранения сохраненных настроек, и это все. Вы должны поместить файлы библиотеки в другое место. Не в вашем каталоге установки Maple. Поместите файлы личной библиотеки в обычный, не скрытый каталог, и используйте 'libname', чтобы указать его. Это обычно. PS, libname: = "/ home/knut/someplace", libname более полезно как одноразовая команда, поскольку она не зависит от ваших особенностей установки Maple. – acer

+0

Спасибо. Я попытался пропустить путь «/ opt/..» из назначения libname, но затем клен не запустился должным образом или возникло какое-то другое странное поведение. ---- Кроме того, в Интернете все еще удивительно мало говорится о лучших практиках настройки клена с помощью .mapleinit (или maple.ini) и о том, что люди помещают в свои файлы .mapleinit. Это единственное, что проявляется в быстрой самостоятельной пояснительная поиска Google: http://www.mapleprimes.com/questions/41590-Examples-Of-Mapleini-Files (и не содержит каких-либо полезных советов) – knb