☑ nuova fantastica funzionalità
☑ potrebbe aiutare molti utenti!
☑ rimuove qualcosa che sembra un "insetto"
☐ bello da avere
☐ nessuno ne ha bisogno
#myTop10_2024
Corto:
Lascia che JSL Editor ti mostri quale funzione valuta i suoi argomenti e quale no!
Lungo:
Cosa ti ha ispirato a richiedere questa lista dei desideri?
C'è un comportamento molto potente in JSL che, d'altro canto, rende difficile per i nuovi utenti iniziare senza intoppi:
Alcune funzioni valutano i propri argomenti, altre no.
Ciò è molto importante per le funzioni utilizzate per la gestione delle espressioni.
C'è una fantastica lezione di @joseph_morgan : Utilizzo di JSL per sviluppare applicazioni efficienti e robuste (EU 2018 415) sulle differenze, su come conviverci e su come utilizzarle per sviluppare applicazioni efficienti e robuste.
... descrivendo lo stato in quel momento: Jmp 14 [2018]:
Questo non è presente nella documentazione.
Questo è qualcosa che ho capito [ ] eseguendo il reverse engineering del comportamento delle funzioni di gestione delle espressioni.
Credimi, [ ] se non pensi a queste funzioni in questo non le otterrai mai correttamente.
Oltre alle funzioni di gestione delle espressioni elencate qui, lo stesso vale per tutte le funzioni:
se non pensi a queste funzioni in questo non le otterrai mai correttamente:
È estremamente importante sapere se un argomento viene valutato prima della chiamata di funzione o meno.
Questo codice funziona o non funziona?!?
dt = Expr(current data table());
myscript = Expr(get script());
dt << myscript
Sfortunatamente, per lo scripter JSL non c'è alcun indizio su come si comporta la funzione: valuta i suoi argomenti oppure no?
Forse valuta solo uno degli argomenti? Chi lo sa?
L'utente deve saperlo!
... oppure: effettuare il reverse engineering del comportamento delle rispettive funzioni.
Quale miglioramento vorresti vedere?
Si prega di implementare un'evidenziazione della sintassi per indicare i diversi modi in cui una funzione valuta (o non valuta) i suoi argomenti.
Componente aggiuntivo: indicare anche la differenza nell'indice degli script.

Nell'editor JSL, l'evidenziazione può essere attivata/disattivata tramite una scorciatoia da tastiera.
Il tipo di dilemma che mostra Expr(_x_^2) è:
l'argomento di Expr() non viene valutato. Ma i due argomenti di ^ verrebbero valutati.
Forse l'evidenziazione reagisce alla posizione del mouse o del cursore: vengono evidenziati solo gli argomenti sotto il ramo in cui si trova attualmente il mouse/cursore.
Perché questa idea è importante?
Grazie alla nuova evidenziazione della sintassi, JMP guiderà automaticamente l'utente nella generazione del codice corretto.
L'utente non deve eseguire il codice per ricevere un messaggio di errore o per vedere il risultato sbagliato
... oppure effettuare il reverse engineering della funzione , come ha dovuto fare @JosephMorgan per preparare il suo articolo.
altri desideri da 
Sembra che tra
1) l'argomento viene valutato
2) l'argomento non viene valutato
esiste una terza variante:
1b) l'argomento viene valutato "una volta"
funzioni che si comportano in questo modo:
- Testa
- Ricodifica colonna (primo argomento e argomento dell'argomento Colonna di destinazione()
- ...?
Quindi sarà necessario un terzo colore.
dt = Open("$SAMPLE_DATA/Big Class.jmp");
col = Name Expr(As Column("name"));
Head(As Column("name"));
Head(col);
dt << Recode Column(AsColumn("name"),{1},Target Column(col));Head valuta la sua argomentazione?
https://community.jmp.com/t5/Discussions/Begin-Data-Update/mp/753037/highlight/true#M93483
... descrivendo lo stato in quel momento: Jmp 14 [2018]:
Questo non esiste nella documentazione.
Questo è qualcosa che ho capito [ ] decodificando il comportamento delle funzioni di gestione delle espressioni.
Credimi, [ ] se non pensi a queste funzioni in questo non le otterrai mai correttamente.
Stato attuale, Jmp18 (2024):

Hm, ci sono ancora alcuni problemi che potrebbero non essere risolti dall'evidenziazione avanzata della sintassi...
per esempio
from the printed "2" one can see that JMP actually evaluates the argument of the Set File List setting - 3 times !?!
... but at the end, it complains about the "print" ?!?
... and without the print it won't do anything, neither complain nor open the file from filelist.
folder= "$SAMPLE_DATA/../Import Data/";
file= "Animals.txt";
filelist= Eval List({folder||file});
Multiple File Import(
<<SET folder=""></SET><SPAN class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="hogi_0-1720645070503.png" style="width: 400px;"><SPAN class="lia-inline-image-display-wrapper" image-alt="hogi_0-1720645070503.png" style="width: 400px;"><SPAN class="lia-inline-image-display-wrapper" image-alt="hogi_0-1720645070503.png" style="width: 400px;"><span class="lia-inline-image-display-wrapper" image-alt="hogi_0-1720645070503.png" style="width: 400px;"><img src="https://us.v-cdn.net/6038925/uploads/images/66063i6C7744FFCF743C3B/hogi_0-1720645070503.png" role="button" title="hogi_0-1720645070503.png" alt="hogi_0-1720645070503.png" /></span></SPAN></SPAN></SPAN>
<STRONG>TS-00152969:</STRONG>
<EM>Ho parlato con lo Sviluppo del problema. Il problema è un difetto e l'ho segnalato allo Sviluppo in modo che possa essere risolto in una futura versione di JMP.<BR /><BR /> molte grazie -> risolto in JMP19EA5</EM>