R decorador para alterar a entrada e a saída
Estou tentando refatorar isso. Em Python, eu usaria um decorador. Qual é a maneira correta de fazer isso? Diga, nós temos esse padrão
good_input <- format_input( bad_input )
bad_output <- use_this_func( good_input )
good_output <- format_output( bad_output )
E então novamente,
good_input <- format_input( bad_input )
bad_output <- use_this_other_func( good_input )
good_output <- format_output( bad_output )
Como você pode imaginar, isso prolifera como cogumelo selvagem. Eu quero algo próximo a esta solução
use_this_robust_func <- wrapper( use_this_func ) # Or wrapper( use_this_other_func )
good_output <- use_this_robust_func( bad_input )
Estou tentando encerrar a ligação parause_this_func
euse_this_other_func
(e funções relacionadas) comformat_input
eformat_output
. Usando em parte issoPergunta, questãoaté agora eu tenho
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 )
}
Desculpe pelo pseudo-código. Observe que não tenho certeza de que este é o caminho a seguir em R. Não estou apegado ao esboço da solução acima, que nasce da tradução de Python - e muito ruim nisso - para R. Como um nativo de R faria isso ? Desde já, obrigado.