Я создаю пакет приложений в Mathematica.Приложение содержит несколько пакетов и ссылается на другие пакеты приложений
Чтобы все настроить, я использовал и следовал инструкциям пакетов приложений в разделе справки рабочего места, которое также доступно по адресу: http://reference.wolfram.com/workbench/index.jsp?topic=/com.wolfram.eclipse.help/html/tasks/applications/introduction.html вподраздел Пакеты и приложения , но ...
- Я реализовал и протестировал пакеты приложений для одного пакета, и все они работают нормально.
- Мои несколько пакетови приложение в настоящее время не работает нормально из-за следующих выявленных проблем: a) основной пакет приложения вызывает функции, реализованные в дополнительных пакетах, но эти функции, похоже, там не распознаются.Я пытался даже явно вызывать их в основном пакете, используя команду Needs в начале пакета, но безрезультатно.* Что я делаю не так? * Все дополнительные пакеты находятся в папке приложения в соответствии с указаниями справки.Более конкретно:
Основной пакет и приложение называются OptMainFuncAll`, поэтому основной пакет OptMainFuncAll.m начинается с
BeginPackage["OptMainFuncAll`"]
Дополнительные пакеты IntermFunct.m и VolCandExt.mначинаются с:
BeginPackage[ "OptMainFuncAll`IntermFunct`"]
BeginPackage[ "QuadOptMainFuncAll`VolCandExt`"]
Тем не менее, функции, определенные в IntermFunct.m и VolCandExt.m: unknown при вызове в OptMainFuncAll.m - Что я делаю не так?
Я даже пытался явно объявить
Needs[ "OptMainFuncAll`IntermFunct`"]
Needs[ "QuadOptMainFuncAll`VolCandExt`"]
в начале OptMainFuncAll.m, и это не решило мою проблему
ВКроме того, я сделал ссылку на второй пакет приложения (BasicSym) и верстак показывает его как на него ссылаются, но его функции также кажутся неизвестными в OptMainFuncAll.m.
Я также попытался начать OptMainFuncAll.m с
BeginPackage[{OptMainFuncAll`, BasicSym`}]
и это не сработало;консоль во время выполнения возвращает сообщение:
BeginPackage :: cxt: недопустимый контекст, указанный в позиции 1 в BeginPackage [{OptMainFuncAll ,
BasicSym
}].Контекст должен состоять из допустимых имен символов, разделенных и заканчивающихся на `.EndPackage :: noctx: предыдущий контекст не определен.
Я уверен, что совершил какую-то глупую ошибку разработчика пакета приложения, но, похоже, я не могу приложить к этому руку.
Если вы можете просто сообщить мне точные объявления пакетов в BeginPackage [?] Для основного пакета, дополнительные пакеты и ссылочные пакеты с именами, которые я здесь предоставил, чтобы все работало гладко, я был бы очень признателен.