像javascript一样定义逗号运算符

时间:2017-04-03 08:41:31

标签: r

Javascript的逗号运算符对于在代码中插入命令非常有用,而不会破坏工作流程。前面的表达式被执行但是被忽略(例如,如果嵌入在期望不同对象的函数中):

> x = 5, 4
< 4
> x
< 5

有没有办法在R中实现这个?我试过了

',' = function(x, y) { x; y }

但是R似乎已经锁定了逗号:

> 4, 5
Error: unexpected ',' in "4,"

这有什么解决方法吗?

1 个答案:

答案 0 :(得分:0)

(联合国)幸运的是,是R中极少数无法重载/重新定义的东西之一。它不是该语言的运算符,不像`{``(`

同样地,当你可以重载`=``(`时,你无法不加区分地改变它们的意思;在带参数的函数调用中(例如f(a = 1, b = 2)),(=都不能改变它们的含义,因为在这种情况下它们不再是运算符。 / p>

正如评论中所述,为了您的目的,;似乎是一个非常接近的等价物。