余数和商的“%%”和“%/%”

我想知道为什么操作符 %%%/%是余数和商。

是否有任何原因或历史,R 开发人员给了他们的意义,他们有吗?

 > 0 %/% 10
[1] 0
> 30 %% 10
[1] 0
> 35 %/% 10
[1] 3
> 35 %% 10
[1] 5
136610 次浏览

我认为这是因为在许多编程语言中,%经常与模运算符联系在一起。

正是这种情况,例如,在 C,C + + ,C # 和 Java,以及许多其他语言中,它们的语法都来自 C (C 本身就是从 B 获得的)。

在 R 中,您可以使用 %[characters]%分配您自己的运算符:

'%p%' <- function(x, y){x^2 + y}


2 %p% 3 # result: 7

虽然我同意 BlueTrin 的观点,认为 %%是相当标准的,但我怀疑 %/%可能与我上面展示的操作符定义类型有关——也许它更容易实现,而且有意义: %/%的意思是做一种特殊的除法(整数除法)

请看下面的例子,以便更清楚地了解不同运营商之间的差异:

> # Floating Division:
> 5/2
[1] 2.5
>
> # Integer Division:
> 5%/%2
[1] 2
>
> # Remainder:
> 5%%2
[1] 1