Генерация функций; изменить настройки по умолчанию других функций (частичные)
Мне нужен генератор функций, который принимает другую функцию и любые аргументы этой функции и устанавливает новые значения по умолчанию. Я думал @ хэдлиpryr::partial
была эта магическая функция. Он делает именно то, что я хочу, но вы не можете изменить это новое значение по умолчанию. Так что здесь я могу изменитьsep
в моем новомpaste
функция, но не новый по умолчаниюcollapse = "_BAR_"
, Как я могу сделатьpartial
выполнить таким образом (т.е. по умолчаниюcollapse = "_BAR_"
но включите настройкуcollapse = NULL
при желании)? Если это невозможно сpartial
есть ли способ переписать код дляpartial
сделать это:https://github.com/hadley/pryr/blob/master/R/partial.r
library(pryr)
.paste <- pryr::partial(paste, collapse = "_FOO_")
.paste(1:5)
.paste(1:5, LETTERS[1:5], sep="_BAR_")
.paste(1:5, collapse=NULL)
> .paste(1:5)
[1] "1_FOO_2_FOO_3_FOO_4_FOO_5"
> .paste(1:5, LETTERS[1:5], sep="_BAR_")
[1] "1_BAR_A_FOO_2_BAR_B_FOO_3_BAR_C_FOO_4_BAR_D_FOO_5_BAR_E"
> .paste(1:5, collapse=NULL)
Error in paste(collapse = "_FOO_", ...) :
formal argument "collapse" matched by multiple actual arguments