像javascript一样定义逗号运算符

像javascript一样定义逗号运算符,r,R,Javascript的逗号运算符对于在代码中插入命令而不破坏工作流非常有用。执行前面的表达式,但忽略其他表达式(例如,如果嵌入到需要不同对象的函数中): 但R似乎已经锁定了逗号: > 4, 5 Error: unexpected ',' in "4," 有什么解决方法吗?(Un)幸运的是,是R中极少数不能重载/重新定义的东西之一。它不是语言中的运算符,不同于例如`{`和`(`) 类似地,虽然可以重载`=`和`(`),但不能随意更改它们的含义;在带有参数的函数调用中(例如f(a=1,b=2

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

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

> 4, 5
Error: unexpected ',' in "4,"
有什么解决方法吗?

(Un)幸运的是,是R中极少数不能重载/重新定义的东西之一。它不是语言中的运算符,不同于例如
`{`
`(`

类似地,虽然可以重载
`=`
`(`
),但不能随意更改它们的含义;在带有参数的函数调用中(例如
f(a=1,b=2)
),既不能使
也不能使
=
更改它们的含义,因为它们在这种上下文中不是运算符)


正如在评论中所指出的,出于您的目的,
似乎是一个非常接近的等价物。

这是有效的:
,”(4,5)
使用分号
?即
x=5;4
,这样它就被执行了,但在其他方面我想,
{..。}
是等效的。只是幻想R拥有同样优雅的方法。
',' = function(x, y) { x; y }
> 4, 5
Error: unexpected ',' in "4,"