Wie definiert man für den Benutzer unsichtbare Funktionen (Methoden)?
Diejenigen, die mit einem Sternchen versehen sind, wenn Sie methods()
für sie aufrufen.
Es scheint, dass es im Internet alles über sie gibt, aber wie man sie definiert?
Kann ich einfach eine nicht sichtbare Funktion definieren (indem ich zum Beispiel etwas zu ihrem Namen hinzufüge), oder sollte ich die Umgebung irgendwie optimieren, oder ist es eine besondere Eigenschaft von R-Paketen, Dinge zu verstecken?
Dies sind "versteckte" Funktionen. Sie können dies (Warning pdf) nützlich finden. Sie können es tun, wenn Sie ein Paket in der NAMESPACE-Datei entwerfen, die Teil der Schrauben und Muttern eines R-Pakets ist. Hier ist der vollständige Text aus der NAMESPACE-Datei für das bilan
-Paket (zu finden durch Öffnen der Paket-Quellcode-tar.gz-Datei von CRAN ):
Aus der oben genannten pdf:
Um versteckte Funktionen zu haben. Ersetzen Sie den Befehl exportPattern mit einem Export-Befehl, wo die Argumente des Exports sind Komma-getrennte Funktionsnamen, die für Benutzer zugänglich sein sollten
Wenn Sie ein R-Paket mit den beiden Funktionen foo
und bar
erstellt haben, könnten Sie NAMESPACE mit der Zeile export(foo)
erstellen, und dann wäre bar
eine versteckte Funktion.