R декоратор для изменения как входа, так и выхода
Я пытаюсь изменить это. В Python я бы использовал декоратор. Какой самый лучший способ сделать это? Скажем, у нас есть этот шаблон
good_input <- format_input( bad_input )
bad_output <- use_this_func( good_input )
good_output <- format_output( bad_output )
И опять же,
good_input <- format_input( bad_input )
bad_output <- use_this_other_func( good_input )
good_output <- format_output( bad_output )
Как вы можете себе представить, это размножается как дикий гриб. Я хочу что-то близкое к этому решению
use_this_robust_func <- wrapper( use_this_func ) # Or wrapper( use_this_other_func )
good_output <- use_this_robust_func( bad_input )
Я пытаюсь обернуть звонокuse_this_func
а такжеuse_this_other_func
(и связанные функции) сformat_input
а такжеformat_output
, Используя частично этовопроспока что у меня есть
wrapper <- function( func_not_robust ){
func_robust <- function( ... ){
# This is the bit I haven't figured out
... format_input( ) ... # supposed to convert bad input - the function argument - to good
bad_output <- func_not_robust( ... ) # supposed to take good input as argument
good_output <- format_output( bad_output )
return( good_output )
}
return( func_robust )
}
Извините за псевдокод. Заметьте, я не уверен, что это путь к R. Я не привязан к эскизу решения выше, которое рождается из перевода Python - и плохо с этим - в R. Как бы это сделал нативный R ? Заранее спасибо.