Подтвердить что ты не робот

"%%" и "%/%" для остатка и частного

Мне интересно, как и почему оператор "%%" и "%/%" - для остатка и частного.

Есть ли какая-либо причина или история, которые разработчик R дал им, что они имеют?

 > 0 %/% 10
[1] 0
> 30 %% 10
[1] 0
> 35 %/% 10
[1] 3
> 35 %% 10
[1] 5
4b9b3361

Ответ 1

В R вы можете назначить своих операторов, используя% [characters]%. Тривиальный пример:

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

2 %p% 3 # result: 7

Хотя я согласен с BlueTrin в том, что %% довольно стандартно, у меня есть подозрение, что%/% может иметь какое-то отношение к тем определениям операторов, которые я показал выше, - возможно, это было проще реализовать и имеет смысл:%/% означает особый вид деления (целочисленное деление)

Ответ 2

Я думаю, что это потому, что% часто ассоциируется с оператором модуля во многих языках программирования.

Это пример в C, С++, С# и Java, например, и многие другие языки, которые выводят свой синтаксис из C (сам C взял его из B).

Надеюсь, что это поможет! Тони

Ответ 3

Взгляните на приведенные ниже примеры для более четкого понимания различий между различными операторами:

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