So entlarven Sie eine Funktion in R aufgrund von Namenskollisionen auf dem Suchpfad
-
15-09-2020 - |
Frage
Als ich das Paket geladen habe debug
so debuggen Sie ein Skript mit zoo
gegenstände, ich habe Ärger:Funktion index
von zoo
wurde von maskiert debug
Paket.Wie kann ich entlarven index
?Wie geht man im Allgemeinen mit diesen Namenskollisionsproblemen um?Wir benutzen einfach nicht debug
paket mit 'Zoo'?
Lösung
Exportierte Symbole sind immer mit dem identifizierbar ::
Betreiber:
zoo::index
Auf versteckte Funktionen, die nicht im Namespace deklariert sind, kann weiterhin mit zugegriffen werden :::
(dreifach-Doppelpunkt) und Beispiel wäre
zoo:::.onLoad
was Sie sehen können, obwohl es nicht exportiert wird.
Andere Tipps
Sie können das Paket entladen, das maskierte Funktionen enthält, und dann neu laden.Es wird Vorrang in dem Suchpfad zurückgewinnen:
generasacodicetagpre. Wenn Sie in der Zukunft ein Paket laden möchten, während Sie daran hindern, dass es daran hindert, andere Funktionen zu maskieren, können Sie seine Position in dem Suchpfad mit einer beliebigen großen Anzahl angeben: generasacodicetagpre.es ist nur mit Ihnen maskiert, aber es ist nicht in den Zoo maskiert, also wenn eine Zoo-Funktion versucht, Index zu verwenden, wird er zuerst einen eigenen Index finden.
Zoo hat auch eine time.zoo-Methode, wenn Z ein Zoo-Objekt ist, das Sie anstelle von Index (Z) Zeit (Z) verwenden können.
Schließlich können Sie immer auf Zoo :: Index beziehen, um sicherzustellen, dass Sie den in Zoo erhalten.