如何在变量中存储二元运算符?

时间:2015-06-08 16:51:31

标签: r foreach expression

我对%Something%运算符的含义感到非常困惑。

如何在变量中存储二元运算符?

像...一样的东西。

binary_operator = store.binary(%in%)

c(3,9,4,1,7) binary_operator c(1:5) # would behave alike "c(3,9,4,1,7) %in% c(1:5)"

或类似

library(foreach)
binary_operator = expression(%do%) # or expression(%dopar%)
...
...
foreach (i=1:6) binary_operator { # would behave alike "foreach (i=1:6) %do% ..."
   ...
   ...
}

1 个答案:

答案 0 :(得分:4)

如果要定义自己的中缀运算符,必须%开头和结尾。这样解析器就知道如何正确地将参数传递给函数,因为它不是解析通常的代码方式。另外,使用反引号来转义变量名中的百分号。

`%binary_operator%` <- `%in%`
c(3,9,4,1,7) %binary_operator% c(1:5)