将算术运算符视为函数

阿波斯托洛斯

我读过R中的所有内容都是函数。因此,我想知道“ +”是否也是一个函数,是否可以编写类似的代码:

xx <- c(1,2,3)
yy <- c(1,2,3,4,5,6)

# zz is the sum of the two lengths
zz <- +(if(exists("xx")) length(xx), if(exists("yy")) length(yy))
罗兰

是的你可以:

xx <- c(1,2,3)
yy <- c(1,2,3,4,5,6)

# zz is the sum of the two lengths
zz <- `+`(if(exists("xx")) length(xx), if(exists("yy")) length(yy))
#[1] 9

要调用没有句法有效名称的对象(例如,+如果您执行类似操作会隐式调用的函数1 + 2),则需要将该名称括在反引号(`)或引号(“或')中。

另请参见R语言定义的第3.1.4节

除语法外,应用运算符和调用函数之间没有区别。实际上,x + y可以等效地写成“ +”(x,y)。注意,由于“ +”是非标准函数名称,因此需要用引号引起来。

在您的代码中,您得到错误:

Error: unexpected ',' in "zz <- +(if(exists("xx")) length(xx),"

这是因为您没有调用(binary)函数"+",而是一元运算符+,该运算符不需要函数参数,因此将括号解释为“算术”运算符。这些之间不允许使用逗号。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

Excel:COUNTIF函数将“小于”字符视为运算符

来自分类Dev

算术运算符是否比算术函数更可取?

来自分类Dev

将char转换为算术运算符

来自分类Dev

将字符串转换为算术运算符

来自分类Dev

“简单”表达语言-算术运算符?

来自分类Dev

了解Python中的算术运算符

来自分类Dev

算术中奇怪的python'is'运算符

来自分类Dev

Swift中的算术运算符数组

来自分类Dev

不使用算术运算符的除法

来自分类Dev

“简单”表达语言-算术运算符?

来自分类Dev

while循环和算术运算符

来自分类Dev

算术中奇怪的python'is'运算符

来自分类Dev

重载算术运算符c ++

来自分类Dev

算术运算符作为枚举?

来自分类Dev

存储和使用算术运算符

来自分类Dev

AngularJS 中的算术运算符问题

来自分类Dev

如何在LISP中将算术运算符作为函数参数传递?

来自分类Dev

在一个函数中调用 MySQL 算术运算符?

来自分类Dev

是否可以将参数解包运算符(也称为飞溅运算符)实现为函数?

来自分类Dev

AngularJS:将算术运算符传递给 ng-value

来自分类Dev

为什么C ++将赋值(=)视为重载运算符?

来自分类Dev

将“-”符号视为字符串文字而不是减运算符的表达式语言?

来自分类Dev

将**运算符更改为使用解析的幂函数?

来自分类Dev

scala,将运算符作为函数的参数传递

来自分类Dev

为什么我的“ +”运算符被视为换行符?

来自分类Dev

为什么我的“ +”运算符被视为换行符?

来自分类Dev

运算符重载函数

来自分类Dev

OCaml:为什么比较运算符是类型无关的,而算术运算符不是?

来自分类Dev

使用算术运算符与比较运算符对数字数组进行排序

Related 相关文章

热门标签

归档