2015-05-08 3 views
3

Is tacit programming также известен как беспутный стиль - опция в R?Возможно ли такое молчаливое программирование на языке статистического программирования R?

+0

'Negate',' Vectorize' и личность доступны без каких-либо дополнительных пакетов аддон. Функциональный пакет «compose» и «Curry» и некоторые другие. Также см. Пакет lambda.r. –

ответ

2

Проверьте magrittr пакет, так как он кажется самым близким к тому, что вы просите. Wikipedia приводит пример:

Например, последовательность операций в аппликативном языке, как следующее:

def example(x): 
    y = foo(x) 
    z = bar(y) 
    w = baz(z) 
    return w 

... написано в точке свободного стиля, как состав последовательности из функций без параметров:

def example: baz bar foo

В R с magrittr она может быть записана в виде

x %>% foo %>% bar %>% baz 

, где %>% оператора используется, чтобы составить цепочку функций, так что выход из предыдущей функции передаются в качестве первого аргумента функции последующей. См. Виньетку magrittr для получения дополнительной информации.

может быть определена функция

# explicitly 
example <- function(x) x %>% foo %>% bar %>% baz 

# or simply (as @bergant noticed) 
example <- . %>% foo %>% bar %>% baz 
+1

Чтобы определить функцию: 'пример <- . %>% foo%>% bar%>% baz'. – bergant

Смежные вопросы