我想知道为什么操作符 %%和 %/%是余数和商。
%%
%/%
是否有任何原因或历史,R 开发人员给了他们的意义,他们有吗?
> 0 %/% 10 [1] 0 > 30 %% 10 [1] 0 > 35 %/% 10 [1] 3 > 35 %% 10 [1] 5
我认为这是因为在许多编程语言中,%经常与模运算符联系在一起。
%
正是这种情况,例如,在 C,C + + ,C # 和 Java,以及许多其他语言中,它们的语法都来自 C (C 本身就是从 B 获得的)。
在 R 中,您可以使用 %[characters]%分配您自己的运算符:
%[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