2014-02-08 33 views
5

Ich habe angefangen, eine GUI für R in tJava durch rJava zu schreiben.Funktion außer Kraft setzen in R

Da ich ein bestimmtes Verhalten möchte, bewerte ich alles über meine Funktion namens gui.eval.

Das Problem tritt auf, wenn jemand diese Funktion außer Kraft setzt. Gibt es einen Mechanismus, der verhindert, dass Benutzer bestimmte Funktionen überschreiben?

+2

Kein Mechanismus, um dies zu verhindern. Aber Sie können es in ein Paket einfügen und es wie 'pckagename :: gui.eval' aufrufen. – agstudy

+0

Warum glaubst du, wird irgendjemand es überhaupt außer Kraft setzen? Und wenn Sie sicher sind, dass es Zombies gibt, die "gui ... evalllll" singen, dann geben Sie Ihrer GUI einen eher ungewöhnlichen Namen. –

Antwort

-4

In der Tat konnte ich meine Frage schnell beantworten.

Es gibt tatsächlich einen Mechanismus. lockBinding() macht den Trick und ich werde die unlockBinding-Funktion aus dem R-Quellcode entfernen.

+2

"Ich werde die UnlockBinding-Funktion aus dem R-Quellcode entfernen." - das beeinträchtigt die Nützlichkeit Ihres Produkts erheblich. Keine gute Idee. Dies ist ein Hack, keine echte Lösung. Die wirkliche Lösung besteht darin, R-Pakete/Namespaces zu verwenden. –

Verwandte Themen