【发布时间】:2011-08-28 06:36:25
【问题描述】:
在 PHP 中,我们可以使用 error_reporting(E_ALL) 或 error_reporting(E_ALL|E_STRICT) 来获得有关可疑代码的警告。在 g++ 中,您可以提供 -Wall(和其他标志)来对您的代码进行更多检查。 R中有类似的吗?
作为一个具体的例子,我正在将一段代码重构为一些函数。在其中一个函数中,我有这一行:
if(nm %in% fields$non_numeric)...
很久以后,我意识到我忽略了将fields 添加到参数列表中,但 R 并没有抱怨未定义的变量。
【问题讨论】:
-
我不确定您提到的具体问题是否真的可以通过更严格的警告来解决。如果它没有给出错误,那可能意味着
fields也是一个全局变量,这意味着引用它是合法的。如果你想显式声明全局变量,你可以通过大量的环境操作来做到这一点。 -
R 没有关于声明变量的特别严格的政策,它的范围是您应该阅读的内容(这将解释为什么它在您的示例中没有返回错误)。不过,您可以尝试
options(warn=2)将所有警告都转换为错误。 -
?codetools::checkUsage怎么样(codetools是内置包) -
相关问题:“R 强制本地范围”-stackoverflow.com/q/6216968/602276
-
在 cmets 中回答是怎么回事...? ;-)
标签: r compiler-warnings