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.

Antworten auf die Frage(1)

Ihre Antwort auf die Frage