Betreff: Wie rufe ich Skripte und Funktionen aus einem Ordner heraus auf?Hallo Neo,
Funktioniert die Include-Funktion für Sie? Versuche dies
Include("$SAMPLE_SCRIPTS/estimatingPi.jsl");
Es gibt zusätzliche Argumente. >>Parse Only analysiert das Skript, führt es jedoch nicht aus. >>Names Default to Here führt das Skript in seinem eigenen Namensraum aus.
Betreff: Wie rufe ich Skripte und Funktionen aus einem Ordner heraus auf?Möglicherweise möchten Sie die JSL-Dateien, die Sie nicht ändern möchten, verschlüsseln.Wenn sie verschlüsselt sind, werden sie von JMP nicht einmal im Protokoll angezeigt und sind somit sicher.
Betreff: Wie rufe ich Skripte und Funktionen aus einem Ordner heraus auf?@Jason_Wiggins Danke. Das Problem, das ich hier sehe, ist, wenn ich den übergeordneten Ordner freigebe (z. B. per E-Mail gezippt). Je nachdem, wo der Benutzer den entpackten übergeordneten Ordner ablegt (der das Hauptskript und die anderen Skripte im Ordner „myScripts“ enthält), ändert sich der Pfad zum übergeordneten Ordner bedeutet, dass ich den Pfad zum Ordner „myScripts“ in meinem Hauptskript nicht fest codieren kann. Vermisse ich etwas?
Betreff: Wie rufe ich Skripte und Funktionen aus einem Ordner heraus auf?@txnelson Die Verschlüsselungsoption klingt gut. Könnte ich ein Beispiel mit einem Hauptskript und zwei anderen Skripten haben (/bitte darauf verweisen), die das Hauptskript aufruft (wobei diese beiden anderen Skripte verschlüsselt sind)?
Betreff: Wie rufe ich Skripte und Funktionen aus einem Ordner heraus auf?@Neo Erwarten Sie, dass der Benutzer, mit dem Sie Ihre Skripte teilen, sie ausführt, oder dienen sie nur als Referenz? Wenn das Skript hauptsächlich ausgeführt wird, haben Sie darüber nachgedacht, die Skripte in einem zu kompilieren? Add-in ? Add-In-Dateien werden in einem Add-In-Ordner gespeichert, der von Benutzer zu Benutzer konsistent ist, z Windows: C:\Benutzer\\AppData\Roaming\SAS\JMP\Addins\*.* .JMP erkennt das Add-In-Verzeichnis unabhängig davon, wer der Benutzer ist. Include() funktioniert in Add-Ins und Sie können zusätzliche Dateien hinzufügen, die Ihr Skript verwendet, z. B. Bilder.Die Skripte und zusätzlichen Dateien stehen dem Benutzer zur Verfügung, wenn er den Code umfunktionieren oder überprüfen möchte. Es gibt Möglichkeiten dazu Verschlüsseln wenn Sie nicht möchten, dass der Benutzer Zugriff auf den Code hat @txnelson empfohlen.
Betreff: Wie rufe ich Skripte und Funktionen aus einem Ordner heraus auf?- Lesen Sie die Dokumentation zum Verschlüsseln von Skripts im Scripting Guide
- Hier ist ein Beispiel.Beachten Sie, dass im oberen Teil des Skripts einige bereits verschlüsselte Skripte gespeichert werden.Für den Zugriff auf gespeicherte verschlüsselte Skripte würden Sie nur den unteren Teil des Skripts verwenden.
names default to here(1);
// Create some saved encrypted scripts
// Below is an encrypted script that simply does a
// oneway()Oneway( Y( :height ), X( :sex ) )
encrypt =
"//-e12.1
0,
200,4182eJwNy9kBwiAMANB9XIFwlENKE0KhoMD+g+j7f6z01jbXDE3LJBaeCTjQ15Own9a6fQoXi7LcDp5qFrvE96Rneht6PKMy28XR
/336IaXjqrRfBlcsB4SazIgNtDSCujmYUsRq8Jozgmp7HOwaXej6mXfdiMLfaTM2yic22QMpD47KhMnfakSI75AsitcPuvg0Sg==
,0,";
// Save to a file
save text file("$TEMP/encript1.jsl",encrypt);
// Here is a second encrypted script that is simply
// Distribution( Continuous Distribution( Column( :height ) ) )
anotherEncrypt =
"//-e12.1
0,
224,4214eJwFwQkCwxAQAMD/9Auom+gu60zE/x/SGb5FBzdI3uv2eXW1FZf8JPN43VlFM1r2w+WbNuXU7A9M/X31V4EM5X6nEQJh8xPK
s6yuLeuWmcVN5KeK79TxUImohaaoWzK8cxUaVD9qZymQZFmNY+sp4k7UVwDGCcxeWyuG7rhTdnmy4o+WieaFBBXxIuQGprua2/mF
gakEBpHZN/sI7PMHIYc+CQ==
,0,";
// Save to a file
save text file("$TEMP/encript2.jsl",anotherEncrypt);
// Wait 10 seconds
wait(10);
// Here is the script that runs the 2 saved encrypted scripts
dt =
// Open Data Table: Big Class.jmp
// → Data Table( "Big Class" )
Open( "$SAMPLE_DATA/Big Class.jmp" );
include("$TEMP/encript1.jsl");
include("$TEMP/encript2.jsl");Wie rufe ich Skripte und Funktionen aus einem Ordner heraus auf?Ich habe mehrere Skripte und Funktionen, die von meinem JSL-Hauptskript aufgerufen werden. Sie funktionieren alle und befinden sich in einem einzigen Ordner.
Ich möchte alle Skripte und Funktionen in einem behalten Ordner um eine Schutzschicht vor unerwünschten Änderungen zu haben, während nur das Hauptskript draußen ist. Das Hauptskript ruft von hier aus die Funktionen und Dateien auf Ordner „myScripts“. . Wie implementiert man das in JSL? Könnte ich bitte ein Beispiel haben?
Automatisierung und Skripterstellung