MATLAB社区

MATLAB,社区等

突出显示全局变量和持久变量

在R2010b中,我们开始用浅蓝色突出非局部变量。非局部变量是在至少两个共享作用域的函数中使用的变量。例如,一个变量同时用于嵌套函数和它的父函数。我们从用户那里得到了很多反馈,当不小心或不正确地使用非局部变量时,他们会遇到难以调试的错误或意想不到的结果。通过引起人们对这些变量的注意,我相信我们已经减少了一整类错误。到目前为止,反馈相当积极。在R2011a中,Editor团队将这种突出显示扩展到另外两种类型的变量,它们的值可以在其函数之外更改:全局变量和持久变量。

通过使用全球关键字,您可以跨函数共享变量,而不必将其作为参数传递、跨工作空间边界或将其持久化到磁盘。使用持续的关键字允许变量在调用同一函数之间保留其值。在持久情况下,变量仍然是其函数的局部变量,但它的值可能是意外的,这取决于该函数之前的调用。

下面是一个极端的例子,显示了不同范围的突出显示。对于每种类型的变量,都有一个m - lint风格的消息,解释为什么要突出显示它,以及使用该类型变量的潜在缺陷。

编辑器突出显示全局变量和非局部变量

使用这些关键字是一种高级操作,如果您对使用它们感到舒服,并且发现这些消息令人讨厌,可以使用Preferences面板禁用或更改高亮显示。文件->首选项->颜色->编程工具->“变量和函数颜色”。

|
  • 打印
  • 发送电子邮件

评论

如欲留言,请点击在这里登录您的MathWorks帐户或创建一个新帐户。