Is tacit programming также известен как беспутный стиль - опция в R?Возможно ли такое молчаливое программирование на языке статистического программирования R?
ответ
Проверьте 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
Чтобы определить функцию: 'пример <- . %>% foo%>% bar%>% baz'. – bergant
'Negate',' Vectorize' и личность доступны без каких-либо дополнительных пакетов аддон. Функциональный пакет «compose» и «Curry» и некоторые другие. Также см. Пакет lambda.r. –