Richiama la libreria delle funzioniUn insieme di funzioni che supportano le funzionalità di richiamo e ripristino nelle GUI JSL. La libreria è discussa qui: Total Recall: una nuova strategia per il supporto del richiamo nelle applicazioni JMP.
28 marzo 2023 - aggiornato alla v2 grazie ai contributi di @hogi
Sviluppo di applicazioni analiticheUtilitàRi: Richiama libreria di funzioni@msharp
È facile impostare verbose su off semplicemente inserendo una variabile all'inizio dello script:
verbose = 0;
e poi usarlo nei comandi. Questo è ciò che faccio. Potrai quindi accenderlo o spegnerlo a piacimento. Come ho detto nel post del blog, preferisco le funzioni chatty, quindi lascio verbose attivo finché non sono sicuro che le funzioni di richiamo funzionino correttamente, quindi lo disattivo.
Per quanto riguarda l'altro punto, direi che è una questione di preferenze personali. Il flusso di lavoro che descrivi (dover chiudere e riaprire un componente aggiuntivo) mi farebbe impazzire. Avere un pulsante di ripristino mi sembra semplicemente più elegante: non è possibile interrompere il flusso di lavoro, è sufficiente reimpostare la GUI (come in Graph Builder). Per impostare una funzione di ripristino è solo questione di copiare e incollare. Anche la configurazione dell'interfaccia utente è un lavoro che dovrai comunque svolgere, quindi perché non utilizzare semplicemente la funzione di ripristino per eseguire entrambe le operazioni?
M
Ri: Richiama libreria di funzioniSono arrivato qui da: https://community.jmp.com/t5/JMP-Wish-List/Add-builtin-quot-Recall-quot-message-to-all-Windows-created-by/idi-p/50963
Codice fantastico.Apprezzo davvero il lavoro che hai svolto.Sembra sicuramente un prezioso pezzo di sceneggiatura.
Solo un paio di commenti.Sento che hai complicato troppo la cosa, il che rende più difficile per qualcun altro utilizzare/dare un senso al codice.Non è necessario un resetRoles, un utilizzo potrebbe sempre semplicemente chiudere la finestra e riaprirla.Se vuoi risparmiare loro un clic, puoi creare un pulsante per farlo per loro.Una volta eliminato, potresti anche sbarazzarti di genArrays e inserire la logica della chiave in storeRoles, poiché l'unica volta che ti serve per memorizzare le informazioni è in questa funzione.Ciò ti lascerebbe con due funzioni, storeRoles() che un utente inserirà nei pulsanti OK ecallRoles.Un utente dovrebbe semplicemente fornire a storeRoles le caselle di visualizzazione, cosa sono e uno spazio dei nomi per memorizzare i valori.IlrecallRoles sarebbe quindi ancora più semplice in cui dovresti solo alimentarlo con lo spazio dei nomi e lui farebbe il resto.
Infine, verbose dovrebbe sempre essere disattivato per impostazione predefinita.
Ri: Richiama libreria di funzioni@gzmorgan0
Vero: Elimina simboli() verrebbe eliminato Qualunque implementazione di uno spazio dei nomi con nome, inclusi il tuo e il mio. IMO, è un po' sciatto usare Elimina Simboli() al di fuori del debug - presuppone che le tue variabili siano le uniche importanti in memoria - ma non c'è molto che potresti fare per fermarlo... Un collega mi ha dato alcune riflessioni su una strategia per mettere le cose fuori dalla memoria su cui sto lavorando. Questa alternativa dovrebbe essere solida rispetto a questo problema.
Detto questo, lo scopo della biblioteca era (come indica questo post sul blog: Collegamento al blog ) per creare una risorsa per semplificare il flusso di lavoro di impostazione di una funzione di richiamo perché è una funzionalità molto utile e importante per gli utenti. Non è mai stato per fare qualcosa infallibile .
Ri: Richiama libreria di funzioniM,
Questo è interessante, tuttavia, non andrebbe tutto perduto se uno script eseguisse il seguente comando?
Delete Symbols();
Forse mi sono perso qualcosa.
Abbiamo deciso di utilizzare un array associativo dello spazio dei nomi denominato per implementare il richiamo nella nostra applicazione di esempio creata con il generatore di applicazioni e nella nostra versione JSLC di esempio di Fit Y by X; entrambi realizzati per il nostro libro, JSL Companion 2nd ed., capitoli 10 e 7, rispettivamente.