Могу ли я назначить оператор переменной? - PullRequest
3 голосов
/ 02 августа 2011

В R возможно ли назначить оператор переменной или какой-либо другой конструкции, которая позволяет использовать переменную в качестве оператора? В моем случае я хочу, чтобы некоторый код использовал оператор% do% или% dopar% из пакета foreach (в зависимости от того, хочет ли пользователь параллельных вычислений или нет). Блок кода для выполнения остается тем же самым, это просто оператор, который является переменной.

Ответы [ 2 ]

5 голосов
/ 02 августа 2011

Вы задаете не тот вопрос. Просто используйте %dopar% и позвоните registerDoSEQ, если вы не работаете в параллель. С %dopar% код не меняется, а только бэкэнд.

5 голосов
/ 02 августа 2011

Это называется перегрузкой оператора, и вот простой пример:

"%do%" <- function(a, b){
  if(do_plus){
    a + b
  } else {
    a - b
  }
}

do_plus <- TRUE

3 %do% 4
[1] 7

do_plus <- FALSE

3 %do% 4
[1] -1
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...