Generación de funciones; cambiar los valores predeterminados de otras funciones (parcial)
Tengo la necesidad de un generador de funciones que tome otra función y cualquier argumento de esa función y establezca nuevos valores predeterminados. Pensé en @ hadleypryr::partial
Fue esa función mágica. Hace exactamente lo que quiero, excepto que no puedes cambiar ese nuevo valor predeterminado. Entonces aquí puedo cambiarsep
en mi nuevopaste
función pero no el nuevo valor predeterminado decollapse = "_BAR_"
. Como puedo hacerpartial
realizar de esta manera (es decir, predeterminado acollapse = "_BAR_"
pero habilite configurarlo encollapse = NULL
Si es deseado)? Si esto no es posible conpartial
¿hay alguna manera de reescribir el código parapartial
para hacer esto: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