Versteckte NamespacesIch würde es lieben, wenn es eine Möglichkeit für versteckte Namespaces gäbe
Wo
Names default to here(1);
new namespace("_Test");
get namespace names()
würde den Namespace "_Test" nicht anzeigen.
SkriptingBetreff: Versteckte NamespacesMein erster Gedanke ist die Verwendung von Namespaces im Kundencode, auf die sie keinen Zugriff haben sollen. Ich kann es verschlüsseln, aber wenn Flags vorhanden sind, werden die Variablennamen und -werte angezeigt. Soweit es scheint, kann ich die Variablen in einem Namespace nicht einmal verbergen.
Names default to here(1);
__x = 5;
show symbols();
new namespace("__Test",
{
a = 1,
__hidden = 2,
__hidden_function = function({},
print("hidden")
)
}
);
get namespaces();
Ich versuche nur, proprietären Code ein wenig besser zu schützen.
Mein großer Anwendungsfall für JMP 14 ist, dass ich New Custom Function () absolut liebe. Um dies zu nutzen, muss jedoch ein Namespace verwendet werden.
Betreff: Versteckte NamespacesKönnen Sie den Anwendungsfall hier etwas erläutern? Was sind die Vorteile eines versteckten Namespace?
Betreff: Versteckte NamespacesEntschuldigung, ich habe angenommen, dass es genauso funktioniert wie versteckte Variablen _Test. Privat würde auch funktionieren.
Betreff: Versteckte NamespacesEntschuldigung, ich habe Ihre Anfrage falsch verstanden. Ich bin damit einverstanden, dass Ihr Vorschlag nützlich sein könnte.
Nur ein Vorschlag, vielleicht möchten Sie eine bevorzugte Verwendung angeben; etwas wie:
- Neuer Namespace ( "_Prüfung" , Privat | Unsichtbar); , oder
- Neuer Namespace ( "_Prüfung" , Passwort ( "xyz" ));
Ich würde die erste Verwendung von Aufzählungszeichen bevorzugen.
Betreff: Versteckte NamespacesIch möchte, dass diese Namen NICHT angezeigt werden.
Betreff: Versteckte Namespaces @vince_faller Ich habe JMP PRO 14.3 unter Windows und hier ist ein Screenshot davon Namespace-Namen abrufen () gibt die Namen zurück. Unten finden Sie ein Skript, das dies demonstriert zeige Namespaces () mit Log Capture ist eine weitere Alternative.

Names default to here(1);
new namespace("_Test");
new namespace("_Test2");
new namespace("_Test3");
_xx= Words(Trim(Log Capture(show namespaces())), "\!N");
show(_xx);
get namespace names();
Namespace("_Test3") << delete namespace;
get namespace names();
Namespace("_Test2") << delete namespace;
get namespace names();
Namespace("_Test") << delete namespace;
get namespace names();