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'?

War es hilfreich?

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.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top