"%%" и "%/%" для остатка и частного
Мне интересно, как и почему оператор "%%" и "%/%" - для остатка и частного.
Есть ли какая-либо причина или история, которые разработчик R дал им, что они имеют?
> 0 %/% 10
[1] 0
> 30 %% 10
[1] 0
> 35 %/% 10
[1] 3
> 35 %% 10
[1] 5
Ответы
Ответ 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