相关疑难解决方法(0)

44
推荐指数
2
解决办法
4259
查看次数

为什么:=允许作为中缀运算符?

我遇到了流行的data.table包装,有一件事特别引起了我的兴趣.它有一个就地分配操作符

:=

这在基础R中没有定义.事实上,如果你没有加载data.table包,如果你试图使用它(例如a := 2),它会引发错误:

错误:无法找到功能 ":="

另外,为什么:=工作?为什么R允许您定义:=为中缀运算符,而其他每个中缀函数都必须被包围%%,例如

`:=` <- function(a, b) {
   paste(a,b)
}

"abc" := "def"
Run Code Online (Sandbox Code Playgroud)

显然,它并不是%function.name%用于定义中缀函数的替代语法.正在data.table利用R的一些解析怪癖?这是一个黑客?它将来会被"修补"吗?

r data.table colon-equals

21
推荐指数
2
解决办法
1279
查看次数

标签 统计

colon-equals ×2

data.table ×2

r ×2