我有一个相当简单的代码,我一直得到" set :: write标签时间在npsRadSlice中受到保护"错误,尽管代码中没有真正的数学。我已经经历了许多与同一错误有关的其他问题,这些问题的解决方案似乎对我不起作用。在这里查看我的代码:
Clear["Global'*"]
SetDirectory["C:\\Users\\M\\Desktop\\radial_slices"]
swank = 0.9;
angle = 0;
percDev = ConstantArray[1,3];
For[zz=1,zz<4,zz++
Clear[npsRadSlice]
npsRadSlice = Import[StringJoin["slice1_",ToString[101000+zz-1],".xlsx"]];
]
我已经使用不同的方式调用文件,但没有任何改变我最终收到错误消息的事实:
Set::write : Tag Times in npsRadSlice Null is protected.
Set::write : Tag Times in 2 npsRadSlice Null is protected.
Set::write : Tag Times in 3 npsRadSlice Null is protected.
General::stop : Further output of Set::write will be suppressed during this calculation.
如果此代码中没有任何数学运算,我不明白导致此错误的原因。非常感谢您给予的任何见解!
答案 0 :(得分:2)
您的代码缺少逗号和分号
Box<DnsRecordData>
要了解触发错误的原因,请查看以下内容。虽然在这里
swank = 0.9;
angle = 0;
percDev = ConstantArray[1, 3];
For[zz = 1, zz < 4, zz++,
Clear[npsRadSlice];
npsRadSlice = 1;
]
正在运行,下一个不是
zz++
Clear[npsRadSlice]
npsRadSlice = 1
经验法则是:不同行上文件级别的完整表达式被视为单独的表达式。在其他情况下,存在隐式乘法。
所以基本上,你试图做的是这样的事情:
Module[{},
zz++
Clear[npsRadSlice]
npsRadSlice = 1
]