Messaggio sconosciuto visualizzato in codice JSL validoDi recente, ho notato che JSL sta segnalando un messaggio sconosciuto per un codice valido. Di seguito è riportato l'ultimo esempio (messaggi sconosciuti evidenziati):
Names Default to Here(1);
Delete Symbols();
databaseFile = Pick File(
"Select Music Collection File",
"$DOCUMENTS",
{"Music Collection|csv"},
1,
0
);
albumTable = Open(databaseFile);
albumTable << <FONT color="#FF0000">Delete Rows</FONT>(N Rows());
:Name("Artist/Album") << Set Name("Title");
:Single 2 << Set Name("CD Single");
:LP << Value Labels({0 = "False", 1 = "True"});
:EP << Value Labels({0 = "False", 1 = "True"});
:Single << Value Labels({0 = "False", 1 = "True"});
:Album << Value Labels({0 = "False", 1 = "True"});
:CD Single << Value Labels({0 = "False", 1 = "True"});
:Want << Value Labels({0 = "False", 1 = "True"});
albumTable << <FONT color="#FF0000">New Column</FONT>(
"Artist Block",
Character,
Formula(If(:Format == "", :Title))
);
albumTable << <FONT color="#FF0000">New Column</FONT>(
"Artist",
Character,
Formula(
If(Row() != 1,
If(:Artist Block == "",
Lag(:Artist, 1),
:Artist Block
),
:Artist Block
)
)
);
albumTable << <FONT color="#FF0000">Move Selected Columns</FONT>({"Artist"}, To First);
tableName = albumTable << <FONT color="#FF0000">Get Name</FONT>();
artistCategoryTable = albumTable << <FONT color="#FF0000">Subset</FONT>(
Output Table("Artist Category " || tableName),
Copy Formula(0),
All Rows,
Selected Columns Only(0)
);
Close(albumTable, NoSave);
artistRowFilter = artistCategoryTable << <FONT color="#FF0000">Data Filter</FONT>(
Mode(Include(1)),
Inverse(1),
Add Filter(
Columns(:Artist Block),
Where(:Artist Block == "")
),
Invisible
);
artistCategoryTable << <FONT color="#FF0000">Delete Rows</FONT>;
artistCategoryTable << <FONT color="#FF0000">Delete Columns</FONT>(:Artist Block);
artistRowFilter << <FONT color="#FF0000">Clear</FONT>;
artistRowFilter << <FONT color="#FF0000">Delete</FONT>;Come in altri script in cui ho visto questa codifica a colori, questo script viene eseguito senza problemi. Qualche idea sul motivo per cui i messaggi JSL validi vengono contrassegnati come sconosciuti?
ScriptingRe: messaggio sconosciuto che appare in un codice JSL validoAdoro avere “Messaggi di oggetti sconosciuti colore” abilitati:

Quindi posso verificare rapidamente se gli oggetti sono inizializzati.
ma a volte i messaggi sono contrassegnati in rosso, sebbene siano "conosciuti".
Qualche minuto dopo, Jmp corregge l'errore.
esempio: dt è noto come tabella di dati e alcuni minuti dopo Jmp saprà che può inviare Inizia l'aggiornamento dei dati alla tabella dei dati.
Perché è Inizia tabella dati contrassegnato come sconosciuto?

Re: messaggio sconosciuto che appare in un codice JSL validoQuesto è tutto. Devo aver abilitato inavvertitamente "Messaggi di oggetti sconosciuti a colori" quando stavo tentando di creare un tema Dark Mode.
Re: messaggio sconosciuto che appare in un codice JSL validoSembra che tu abbia attivato la preferenza "Colore messaggi oggetto sconosciuto". Puoi trovare questa impostazione nella casella di gruppo "Formattazione JSL" nel gruppo di preferenze Editor di script.Prima di eseguire lo script, la variabile albumTable non è stata assegnata, quindi jmp non è aggressivo nel contrassegnare i messaggi oggetto come sconosciuti.Quando lo script viene eseguito, albumTable viene impostato uguale a una tabella e quindi tale tabella viene chiusa.A quel punto jmp può determinare meglio quali messaggi sono validi e poiché una tabella chiusa non può gestire un messaggio di "cancella righe", il messaggio sarà quindi colorato in rosso.Poiché la valutazione di oggetti e messaggi può richiedere molto tempo, JMP non ricontrolla tutti gli script ogni volta che viene modificata una variabile, pertanto potrebbe essere necessario riformattare lo script oppure modificare la riga con il messaggio per visualizzare l'aggiornamento del colore.
Re: messaggio sconosciuto che appare in un codice JSL valido
@Jeff_Perkinson ha scritto:
È davvero strano. Non l'ho mai visto prima. Quale versione di JMP stai utilizzando?
Idem. Come ho detto, non ho mai avuto questo problema fino a pochi mesi fa. È davvero strano. Qualche tempo fa ho provato a sperimentare la creazione di un tema in modalità oscura per JSL, ma alla fine sono tornato alle impostazioni predefinite, poiché non sono così esperto in ciò a cui sono associati tutti gli elementi nell'elenco di stili in JSL. Non aiuta il fatto che io sappia quel tanto che basta sulla scienza del colore per essere abbastanza ** bip ** sulla selezione di colori complementari, ma anche adatti al tema generale; È solo che non ho molto tempo libero in questo momento. :faccia_corrucciata:
Sto eseguendo JMP 14.3. Poiché sono l'amministratore di JMP della nostra azienda, mi impegno a mantenere aggiornati gli utenti di JMP.
Re: messaggio sconosciuto che appare in un codice JSL validoOra capisco cosa stai descrivendo. L'immagine aiuta a spiegare che la codifica a colori nell'editor di script non colora correttamente i messaggi validi. Invece, li sta colorando di rosso come prescrivono le preferenze predefinite Messaggi Sconosciuto .

È davvero strano. Non l'ho mai visto prima. Quale versione di JMP stai utilizzando?
Re: messaggio sconosciuto che appare in un codice JSL valido
@Craige_Hales ha scritto:
Anche: sconosciuto è un conciso messaggio di errore utilizzato da JMP quando accade qualcosa per cui JMP non era preparato. È possibile eseguire il JSL un'istruzione alla volta, osservando il registro, per isolare il problema. JMP tenta di diagnosticare gli errori quando il JSL viene analizzato ed eseguito; se JMP rileva un errore senza pianificare l'errore, tutto ciò che JMP può dire è sconosciuto .
Se puoi pubblicare un esempio autonomo, JMP potrebbe avere un messaggio migliore per la prossima persona che lo trova.L'invio dell'esempio al supporto tecnico assicurerà che venga tracciato.
Il problema potrebbe essere più ovvio una volta che la riga del problema è nota e puoi studiare i valori nelle variabili (stamparli nel registro). Potrebbe trattarsi di un valore mancante o di dati di carattere in cui sono necessari dati numerici, oppure potrebbero essere scambiati due parametri per una chiamata di funzione o utilizzare una riga della tabella troppo grande o troppo piccola o qualcos'altro. Tutti questi dovrebbero avere un messaggio migliore di sconosciuto .
Se non mi manca quello che stai cercando di inoltrare, sembra che ti riferisci a una finestra di messaggio oa un errore segnalato dal Debugger. I flag che ricevo sono nel codice. Sulla base della codifica a colori predefinita per JSL, le parole chiave in rosso sono errori o messaggi sconosciuti. Poiché non ricevo un messaggio di errore durante il salvataggio dello script e viene eseguito senza problemi, l'unica possibilità rimasta è che le parole chiave in rosso siano messaggi sconosciuti.
Re: messaggio sconosciuto che appare in un codice JSL validoL'evidenziazione non viene visualizzata quando il codice viene aggiunto a un post con un tag JSL, quindi ecco uno screenshot del codice con i flag.

Come ho affermato nel mio post originale, lo script funziona come previsto, ma il fatto che molte righe abbiano parole riservate contrassegnate come Messaggio sconosciuto mi fa pensare che ci sia un altro problema di fondo. Uso JSL da alcuni anni ed è stato solo negli ultimi due mesi che ora ricevo questi flag di messaggi sconosciuti. Ora che ci penso, probabilmente è iniziato dopo aver aggiornato la mia installazione di JMP alla 14.3.
gzmorgan0 ha scritto:
albumTable << Elimina righe(N righe()); Qual è l'intento di questa JSL?
Quella riga di codice elimina l'ultima riga nella tabella dei dati che non sono i dati dell'album.
gzmorgan0 ha scritto:
Tutto il codice che utilizza il filtro dati crea confusione. Basta usare
artistCategoryTable <SPAN class="token operator"><</SPAN><SPAN class="token operator"><</SPAN><SPAN class="token messages"> select where</SPAN><SPAN class="token punctuation">(</SPAN><SPAN class="token punctuation">:</SPAN>Artist<SPAN class="token operator">==</SPAN><SPAN class="token string">""</SPAN><SPAN class="token punctuation">)</SPAN><SPAN class="token punctuation">;</SPAN>
artistCategoryTable <SPAN class="token operator"><</SPAN><SPAN class="token operator"><</SPAN><SPAN class="token messages"> delete rows</SPAN><SPAN class="token punctuation">(</SPAN><SPAN class="token punctuation">)</SPAN><SPAN class="token punctuation">;</SPAN>
Il codice di filtraggio che ho nello script è stato generato da JMP durante l'esecuzione manuale del processo. Anche se utilizzo JSL da circa 5 anni, non sono affatto un esperto a causa del fatto che il mio carico di lavoro è tale che ho poco tempo per imparare qualcosa di nuovo e tanto meno per padroneggiarlo, quindi raramente genero uno script completamente da zero . Completa il tutto con il fatto che ora ho bisogno di imparare R perché uno dei nostri clienti usa R e insiste che facciamo lo stesso.
Re: messaggio sconosciuto che appare in un codice JSL validomodifica: ignora questa risposta dopo ulteriori spiegazioni di seguito ... grazie Jeff!
Anche: sconosciuto è un conciso messaggio di errore utilizzato da JMP quando accade qualcosa per cui JMP non era preparato. È possibile eseguire il JSL un'istruzione alla volta, osservando il registro, per isolare il problema. JMP tenta di diagnosticare gli errori quando il JSL viene analizzato ed eseguito; se JMP rileva un errore senza pianificare l'errore, tutto ciò che JMP può dire è sconosciuto .
Se puoi pubblicare un esempio autonomo, JMP potrebbe avere un messaggio migliore per la prossima persona che lo trova.L'invio dell'esempio al supporto tecnico assicurerà che venga tracciato.
Il problema potrebbe essere più ovvio una volta che la riga del problema è nota e puoi studiare i valori nelle variabili (stamparli nel registro). Potrebbe trattarsi di un valore mancante o di dati di carattere in cui sono necessari dati numerici, oppure potrebbero essere scambiati due parametri per una chiamata di funzione o utilizzare una riga della tabella troppo grande o troppo piccola o qualcos'altro. Tutti questi dovrebbero avere un messaggio migliore di sconosciuto .
@EvanMcCorkle @Audrey_Shull
Re: messaggio sconosciuto che appare in un codice JSL valido@mdawson69 ,
Quali linee di JSL vengono evidenziate? Ci sono diverse righe di JSL che creano confusione:
Senza ulteriori dettagli, non capisco i tuoi problemi.