矩阵实验室有你
肖恩本周的选择是你在母体实验室经过mathworlds.。
我是在阅读后发现这一点的布雷特的帖子几周前。这是一个有趣的提交,你们可以跑自己 - 我不会破坏它。此提交确实依赖于某些无证能力将未来的突破(有些已经突破了)。但是会有替代品,其中一些已经有了。
关于这次提交,引起我注意的是联邦快递页面上的警告:NB:运行此程序清除MATLAB控制台,也可以更改您的一些MATLAB首选项(字体和背景颜色)如果在运行时中断。
如果中断,它不会重置的事实告诉我,如何改进这个函数应该如何撕毁。现在是:
- 获取原始设置值
- 设置新设置值
- 运行演示
- 将设置设置回原来的值
所以如果你用ctrl+c中断或者出现错误,[4]永远不会运行。有一个更好的方法来做这个使用onCleanup对象。无论是否出现错误,这些都可以在清除物体时可靠地触发!
我将通过使用新文档更改此MATLAB会话的命令窗口错误颜色来演示设置API。
s =设置;s.matlab.colors.commandwindow.ErrorColor.TemporaryValue = [0 0 255]%blue错误ColorResetter = oncleanup(@()s.matlab.colors.CommandWindow.ErrorColor.ClearTemporaryValue())
s =属性:slhistory:[1×1 setingsgroup] simulink:[1×1 settingsgroup] ma金宝apptlab:[1×1 settingsgroup] colorResetter =带有属性的onleanup:task:@()s.matlab.colors.commandwindow.errorcolor.cleartemporaryvalue()
现在何时污染物变量被清除,它将自动清除我设置的值。在一个函数中,这将在最后隐含地发生。因此,发生此错误的事实并不意味着我永久地卡住或手动调整设置。
错误('smurf:错误'那'这个错误消息是蓝色的')
这个错误消息是蓝色的
我用onCleanup对象一直在时间。一些常见的事情我会用它们:
- 改变一个设置
- fclose (fid)
- 将目录更改到其他地方
- 删除我创建的临时文件或文件夹
在单元测试的范围内,您应该使用testcas.addteardown.方法,它也会可靠地触发一个任务,但在测试执行的正确阶段执行它。
评论
- 类别:
- 挑选
评论
要发表评论,请点击在这里登录您的MathWorks帐户或创建新的。