Wolfram mathematica Mathematica软件包入门
有人能就如何开始使用mathematica软件包提供一些建议吗 我可以将以下内容保存在名为“Foo.m”的文件中。在该文件中运行输入单元格时,可以看到$ContextPath变量中反映的效果Wolfram mathematica Mathematica软件包入门,wolfram-mathematica,mathematical-packages,Wolfram Mathematica,Mathematical Packages,有人能就如何开始使用mathematica软件包提供一些建议吗 我可以将以下内容保存在名为“Foo.m”的文件中。在该文件中运行输入单元格时,可以看到$ContextPath变量中反映的效果 BeginPackage["Foo`"] bar::usage = "barfunction"; Begin["`private`"] bar[w_] := w; End[]; EndPackage[]; 但是,在我的笔记本中,我有以下内容: #include<foo> SetDirec
BeginPackage["Foo`"]
bar::usage = "barfunction";
Begin["`private`"]
bar[w_] := w;
End[];
EndPackage[];
但是,在我的笔记本中,我有以下内容:
#include<foo>
SetDirectory[ToFileName[{$HomeDirectory, "My Documents", "mathematica"}]];
Needs["Foo`"]
$ContextPath
FindFile["Foo`"]
SetDirectory[<Foo dir>]
FindFile["Foo`"]
#包括
SetDirectory[ToFileName[{$homeditory,“我的文档”,“mathematica”}];
需要[“Foo`]
$ContextPath
但是由于某种原因,需求调用失败了,$ContextPath保持不变
编辑
我相信我现在已经找到了一个部分解决方案,我文件中的单元格没有标记为初始化单元格-虽然我现在可以检查以确保保存的文件“Foo.m”位于您的
$Path
,它告诉Mathematica在尝试加载包时要查看哪些目录,很像Unix或Windows中的PATH
环境变量
编辑:$ContextPath
不会被更改,除非有一个实际的BeginPackage
语句(或者您直接使用Set
或Block
或其他操作)
编辑第二条:要检查的一件事是什么
FileNames["Foo.m", $Path]
返回。不过,您所描述的内容听起来确实有点奇怪。两种形式都可以。当使用
Get
(或Pilly)加载文件时,仅假设该文件位于当前工作目录(我相信是由SetDirectory设置的)中,并且“.”位于$Path中,则应该找到该文件就足够了吗?
$Failed
<Foo dir>
<Foo dir>/foo.m