请问如何设置在mma8中导入nb文件的同时,nb文件内容自动运行?
mathematica吧
全部回复
仅看楼主
level 1
飞舞的羽翼
楼主
我在linux里用mma8算东西,原来可以直接<<a.nb这样直接导入的同时也运行了。现在虚拟机里又装了mma8跑,但是我发现<<导入后是一串Notbook[。。。。]这样的,请问怎么回事?如何设置@xzcyr,抱歉打扰了,感觉大吧一直在线而且比较专业热心
2021年03月31日 08点03分
1
level 1
飞舞的羽翼
楼主
2021年03月31日 08点03分
2
level 1
飞舞的羽翼
楼主
原来<<Feyn.nb后,可以自动运行Feyn.nb里的几个.m文件和路径重设,现在不行了
2021年03月31日 08点03分
3
吧务
level 10
asdasd1dsadsa
另存为m文件比较好。高版本可以NotebookImport[filename,"Input"|"Code"->"HeldExpression"],但是版本8有什么可以用我就不清楚了。不过至少可以Cases[Get@filename,Cell[boxdata_BoxData,"Input"|"Code",___]:>MakeExpression[boxdata,StandardForm]]
也许还有更好的办法
2021年03月31日 14点03分
4
飞舞的羽翼
另一台电脑原来是可以<<直接运行的,不知道现在怎么了。 谢谢,我先试试吧
2021年04月01日 01点04分
xzcyr
NotebookEvaluate,版本8已引入。
2021年04月03日 14点04分
asdasd1dsadsa
@xzcyr
我就说记得有这么个函数来着。不过在没有frontend的情况下可能就用不了了
2021年04月03日 18点04分
飞舞的羽翼
@xzcyr
NotebookEvaluate确实可以,谢谢大神,虽然没有自动补全函数,但比原来方便多了
2021年04月06日 06点04分
吧务
level 15
xzcyr
用windows下的版本8.0.4无法重现LZ所说的现象……不对,确切地说我找到了一个“重现”的方法,但这个方法是:先存一个.m文件,再把扩展名改成.nb。
2021年04月03日 03点04分
5
飞舞的羽翼
谢谢啦,应该必须写成m的程序包才能自动运行;以前那个我也不知道怎么回事能直接运行,那个肯定是没有写Package的
2021年04月03日 14点04分
xzcyr
@飞舞的羽翼
我建议你查查 init.m 之类的地方是不是有某些特殊设定。(重载Get函数也可能实现这个效果。)顺便说一句,用程序执行.nb文件的一般做法应该是NotebookEvaluate。
2021年04月03日 14点04分
飞舞的羽翼
@xzcyr
谢谢,我再试试
2021年04月05日 15点04分
1