Почему `: =` работает как инфиксный оператор? - PullRequest
11 голосов
/ 14 сентября 2011

Почему в R работает следующее?

> `:=` <- function(x, y) x + y
> 1 := 2
[1] 3

Насколько я понимаю, % требовалось для пользовательских инфиксных операторов. Существуют ли другие (возможно, более простые для ввода) варианты?

1 Ответ

11 голосов
/ 14 сентября 2011

Это потому, что :=, как и <- или <<-, определено как LEFT_ASSIGN для синтаксического анализатора R.
См. http://svn.r -project.org / R / trunk / src / main / gram.y

Это означает, что := является особым случаем, и вы также можете не ожидать, что доступны какие-либо другие варианты.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...