Next: , Previous: Literal constants, Up: Tokens



10.3.2 标识符

标识符由字母,数字,点号 (.) 和下划线构成。它们不能以 数字和下划线开始,也不能以点号后面跟数字开始。

字母的定义依赖于本地的环境:合法字符的精确集合由 C 表达式 (isalnum(c) || c == '.' || c == '_') 给定,并且在许多 西欧的本地环境中还包括重音符号。

注意,以点号开头的标识符默认不被ls函数列出, 并且 .....1..2 等是比较特殊的。

同样需要注意的是,对象可以有不是标识符的名字。这些 通常通过getassign读取,尽管它们在一些 不会混淆的情况下(很少出现)可以用文本字符串表示(如"x" <- 1)。 因为 getassign 没有要求它们所赋的名字一定是标识符, 所以它们不能区分下标操作和赋值函数。下面两个例子 不是 等价的

x$a<-1 assign("x$a",1)
x[[1]] get("x[[1]]")
names(x)<-nm assign("names(x)",nm)