首页 文章

maple:如何在启动时包含我的库

提问于
浏览
1

目前我从命令行使用数学软件“Maple”,基本上是一个功能强大的计算器 . 我写了一个简单的枫树“库”,其中包含我的辅助函数 . 我想在枫叶启动时加载它 . (此任务几乎等同于在启动shell时加载.bashrc或.bash_profile文件) .

在Maple中如何做到这一点?它比预期的更复杂,文档记录也很差 .

我现在拥有的是在我的主目录中的Maple目录中编译的Maple lib .

在枫树shell / REPL上我这样做加载这个文件(然后是std lib):

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

[参数,hz2rad,listPhasors,phase,phased,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

1 回答

  • 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
    

    另一种方法(如果必须转义引号则稍微棘手)是在调用 maple 脚本时使用 -c 选项的一个或多个实例 . 这是您在启动时发出几个不同命令的另一种方法 . 事实上,有很多方法可以实现您的目标 .

相关问题