2013-12-24 12 views
8

Wie definiert man für den Benutzer unsichtbare Funktionen (Methoden)? Diejenigen, die mit Sternchen versehen sind, wenn Sie methods() auf ihnen aufrufen.Nicht sichtbare Funktionen/Methoden in R - wie werden sie gemacht?

Es scheint, es gibt alles über sie im Internet, 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?

Antwort

6

Dies sind "versteckte" Funktionen. Sie könnten this (Warnung 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 (kann durch das Öffnen Paket Quellcode tar.gz-Datei von CRAN zu finden):

 
useDynLib(bilan) 
exportPattern("^bil\\.[[:alpha:]]+") 
exportPattern("^sbil\\.[[:alpha:]]+") 

Vom pdf oben erwähnt:

zu habe versteckte Funktionen. Ersetzen Sie den exportPattern Befehl mit einem Exportbefehl, in dem Export Argumente sind durch Kommata getrennte Funktionsnamen, die

Grundsätzlich für die Nutzer zugänglich sein sollten, wenn Sie ein R-Paket mit zwei Funktionen foo und bar erstellt, könnten Sie machen NAMESPACE-Datei mit der Zeile export(foo) und dann bar wäre eine versteckte Funktion.

Verwandte Themen