gpt4 book ai didi

wolfram-mathematica - 在 Mathematica 中构建具有多个包和引用的应用程序包

转载 作者:行者123 更新时间:2023-12-01 13:01:37 26 4
gpt4 key购买 nike

我正在 Mathematica 中构建应用程序包。应用包含多个包并引用其他应用包

为了设置一切,我使用并遵循了工作台帮助部分的应用程序包说明,该说明也可在以下位置获得:http://reference.wolfram.com/workbench/index.jsp?topic=/com.wolfram.eclipse.help/html/tasks/applications/introduction.htmlPackages and Applications 小节下,但是......

  1. 我已经实现并测试了单包应用程序包,一切似乎都运行良好。
  2. 我的多个包和应用程序目前无法正常工作,因为已确定存在以下问题:a) 应用程序的主包调用了额外包中实现的函数,但这些函数似乎没有被识别。我什至尝试在包的开头使用 Needs 命令在主包中显式调用它们,但无济于事。 *我做错了什么?*额外的包都在应用程序文件夹中,正如帮助所指示的那样。更具体地说:

主包和应用程序被命名为 OptMainFuncAll` 所以主包 OptMainFuncAll.m 以

BeginPackage["OptMainFuncAll`"]

额外的包 IntermFunct.m 和 VolCandExt.m 以:

BeginPackage[ "OptMainFuncAll`IntermFunct`"]
BeginPackage[ "QuadOptMainFuncAll`VolCandExt`"]

然而,在 IntermFunct.m 和 VolCandExt.m 中定义的函数在调用时未知OptMainFuncAll.m -- 我做错了什么?

我什至尝试过明确声明

Needs[ "OptMainFuncAll`IntermFunct`"]
Needs[ "QuadOptMainFuncAll`VolCandExt`"]

在OptMainFuncAll.m的开头并没有解决我的问题

此外,我还引用了第二个应用程序包 (BasicSym) 并且工作台将其显示为已引用,但它的功能在 OptMainFuncAll.m 中似乎也是未知的。

我也试过从 OptMainFuncAll.m 开始

  BeginPackage[{OptMainFuncAll`, BasicSym`}]

它没有用;控制台在运行时返回消息:

BeginPackage::cxt: Invalid context specified at position 1 in BeginPackage[{OptMainFuncAll,
BasicSym
}]. A context must consist of valid symbol names separated by and ending with `. EndPackage::noctx: No previous context defined.

我确定我犯了一些愚蠢的应用程序包开发人员错误,但我似乎无法控制它。

如果您能告诉我 BeginPackage[?] 中主包、额外包和引用包的确切包声明以及我在此处提供的名称以使一切顺利运行,我将不胜感激。

最佳答案

请尝试:

BeginPackage["OptMainFuncAll`",
{"BasicSym`",
"OptMainFuncAll`IntermFunct`",
"QuadOptMainFuncAll`VolCandExt`"}
]

当前包名称是第一个参数,而第二个参数是它将依赖的包名称(上下文)列表。

关于wolfram-mathematica - 在 Mathematica 中构建具有多个包和引用的应用程序包,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5567980/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com