我使用Mathematica 11并创建一个包含两个文件的项目:一个名为MyPackage.m
的包文件,另一个名为run.m
。包文件只包含普通函数,而不是特殊的Mathematica包结构({{ 3}})和另一个包含获取MyPackage.m
并使用函数的代码。
(* Package.m *)
myFun[x_String] := Print[x]
...
(* run.m *)
<<"Package.m"
myFun["Hello,World"]
我将这两个文件放在一个目录中,并确保$path
包含目录路径。但是,当我运行wolframscript -file ./run.m -print all
时,它会抱怨$Failed
。
问题是:在使用wolframscript时如何导入另一个文件?即使它们位于同一目录中,它似乎找不到目标文件。
我使用Mathematica 11并在Ubuntu服务器中运行wolframscript,我安装了最新的Free CDF Player。
答案 0 :(得分:0)
我遇到运行脚本没问题。此外,-print all
似乎是多余的。
C:\Users\chrisd\Documents\test>dir
Volume in drive C is Windows7_OS
Volume Serial Number is 102A-B66B
Directory of C:\Users\chrisd\Documents\test
14/09/2017 15:03 <DIR> .
14/09/2017 15:03 <DIR> ..
14/09/2017 14:59 29 Package.m
14/09/2017 14:59 38 run.m
2 File(s) 67 bytes
2 Dir(s) 215,590,776,832 bytes free
C:\Users\chrisd\Documents\test>wolframscript -file run.m -print all
Hello,World
C:\Users\chrisd\Documents\test>type Package.m
myFun[x_String] := Print[x]
C:\Users\chrisd\Documents\test>type run.m
<<"Package.m"
myFun["Hello,World"];
C:\Users\chrisd\Documents\test>