У меня есть ситуация, в которой я хотел бы передать аргументы функциям, связанным через Compose
. Я понимаю, что могу использовать Curry в аргументах, но мне бы хотелось, чтобы результирующая функция была более гибкой. Вот простой тестовый пример, показывающий проблему:
> library(functional)
> f <- function(x, scale) x^2*scale
> g <- function(y, shift) sqrt(y)+shift
> h <- Compose(f,g)
> h(1)
Error in x^2 * scale : 'scale' is missing
> h(1, scale=1, shift=0)
Error in Reduce(function(x, f) f(x), fs,...) :
unused argument(s) (scale = 1, shift = 0)
Есть ли способ использовать Compose
, чтобы результирующая функция по-прежнему разрешала аргументы при вызове? ?Compose
мало чем полезен, разве что в качестве элегии прекрасной клавиатуре.