通过深入研究R源代码(文件R-3.2.2/src/main/gram.y
行2836
到2852)
),我发现R解析器/令牌器认为:=
是LEFT_ASSIGNMENT
令牌。
但是,当尝试将其用作R.3.2.2
中的赋值运算符时,
我有一个错误(无法找到:=
的函数...),但是如您所见,R会将其视为类似<-
的赋值:
> myVar := 42
Erreur : impossible de trouver la fonction ":="
> :=
Erreur : unexpected assignment in ":="
> <-
Erreur : unexpected assignment in "<-"
这是一个错误,还是需要从令牌生成器源代码中删除令牌
:=
?在R中是否有关于
:=
运算符的故事? 最佳答案
它是以前允许的赋值运算符,请参见John Chambers在2001年的this article。
R的开发版本现在允许编写一些作业
C或Java样式,使用=运算符。这增加了兼容性
使用S-Plus(以及C,Java和许多其他语言)。
以前所有允许的赋值运算符( 保持完全有效。
似乎:=
函数不再存在,但是您可以像这样“重新启用”它:
`:=` <- `<-`
x:=3
x
[1] 3
关于r - R赋值运算符:=的作用是什么?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/32817780/