我正在尝试测试列表是否包含对象(github源码 https://raw.github.com/PecanProject/pecan/073235d9117faf8719038e095ba589bdaca1e402/settings/R/read.settings.R). This is.null
到目前为止,函数一直有效,除非我正在测试名称与非空项目部分匹配的项目。
x <- list(ab = 1)
is.null(x$ab)
[1] FALSE ## expected
is.null(x$b)
[1] TRUE ## expected
is.null(x$c)
[1] TRUE ## expected
is.null(x$a)
[1] FALSE ## unexpected
这是预期的行为吗is.null
功能?我在文档中没有看到任何指示。
最好使用exists
函数,还是其他方法? (我没用过exists
因为它不会像这样循环工作for(i in 'a') is.null(x[[i]])
.
look at x$a
。这返回1
由于部分名称匹配。所以is.null(x$a)
is FALSE
因为 R 匹配a
with ab
。如果你使用[[
符号,您将得到预期的结果:is.null(x[['a']])
.
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)