Here是可以在R中命名哪些标识符的规则。它说:
标识符由字母,数字,句点(“。”)组成 和下划线。它们不能以数字或下划线开头, 或后跟数字的句点。
但是似乎可以简单地通过使用非法标识符名称周围的引号来分配不满足这些规则的变量
例如在标识符名称中使用非法字符(本例中为空格)
`sdf sdf` <- 2
`sdf sdf`
# [1] 2
问号也可以
`sdf?sdf` <- 2
`sdf?sdf`
# [1] 2
以这种方式分配的商品似乎有效
`_sdfk` <- 2
`_sdfk` * 9
# [1] 18
它甚至适用于功能
"my funct" <- function(x) { x * 2 }
"my funct"(3)
# [1] 6
根据规则,这些标识符应该是不可能的。
为什么R允许这样做?