Sim*_*mon 4 wolfram-mathematica save
内置的Mathematica命令Save[file, symbol]
用于FullDefinition[]
查找定义symbol
和所有子定义.
例如,命令
a:=b
c:=2a+b
Save[ToFileName[NotebookDirectory[],"test.dat"],c]
Run Code Online (Sandbox Code Playgroud)
生成包含的文件test.dat
c := 2*a + b
a := b
Run Code Online (Sandbox Code Playgroud)
我有一个计划了很多美化的MakeBoxes
,我做的类型定义不希望当我保存[]的许多独立的结果进行保存.
就上面的简单示例而言,我不希望将a := b
定义保存到文件中.有谁知道一个简洁的方法来实现这一目标?
根据文档,Save
使用FullDefinition
时你想要它使用它Definition
.使用Block
我们可以覆盖任何符号的全局定义,特别是取代FullDefinition
与Definition
在运行Save
:
Block[{FullDefinition},
FullDefinition = Definition;
Save[filename, c]
];
FilePrint[filename]
DeleteFile[filename]
Run Code Online (Sandbox Code Playgroud)
神奇的作品:
c := 2*a + b
Run Code Online (Sandbox Code Playgroud)
编辑.用正确的属性包装:
SetAttributes[truncatedSave, HoldRest]
truncatedSave[filename_, args__] := Block[{FullDefinition},
FullDefinition = Definition;
Save[filename, args]];
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
323 次 |
最近记录: |