R Dekorator, um sowohl Eingabe als auch Ausgabe zu ändern
Ich versuche das umzugestalten. In Python würde ich einen Dekorateur verwenden. Was ist der richtige Weg, dies zu tun? Sagen wir, wir haben dieses Muster
good_input <- format_input( bad_input )
bad_output <- use_this_func( good_input )
good_output <- format_output( bad_output )
Und dann wieder
good_input <- format_input( bad_input )
bad_output <- use_this_other_func( good_input )
good_output <- format_output( bad_output )
Wie Sie sich vorstellen können, vermehrt sich dies wie ein wilder Pilz. Ich möchte etwas in der Nähe dieser Lösung
use_this_robust_func <- wrapper( use_this_func ) # Or wrapper( use_this_other_func )
good_output <- use_this_robust_func( bad_input )
Ich versuche den Anruf zu beendenuse_this_func
unduse_this_other_func
(und verwandte Funktionen) mitformat_input
undformat_output
. Teilweise nutzenFrageSoweit habe ich
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 )
}
Entschuldigung für den Pseudocode. Hinweis: Ich bin mir nicht sicher, ob dies der richtige Weg für R ist. Ich bin nicht mit der obigen Lösungsskizze verbunden, die aus der Übersetzung von Python - und schlimmerweise auch - für R hervorgeht. Wie würde ein R-Muttersprachler dies tun? ? Danke im Voraus.