perché ::labelslist?Names Default to Here(1);
dt = Open( "$SAMPLE_DATA/Big Class Families.jmp" );
labelsList = {"F" = "A", "M" = "B"}; //here namespace
::labelsList = {"F" = "①", "M" = "②"}; // global variable
f = function ({},
{default local},
labelsList = {"F" = "X", "M" = "Y"} ; // local variable
dt:sex << Set Property( "Value Labels", labelsList ) // which variable will JMP pick?
);
f
JMP 19.1: ①,②
JMP 18.2.2 e JMP 20EA: X,Y
Soluzioni alternative:
- usa dt:sex <
- usa Eval (Eval Expr( ... Expr (labelslist) ))
Automazione e scripting
Oggetto: Perché ::labelslist?Molto più difficile da comprendere era il messaggio di errore iniziale:

delete symbols (::labelsList);
Names Default to Here(1);
dt = Open( "$SAMPLE_DATA/Big Class Families.jmp" );
f = function ({},
{default local},
labelsList = {"F" = "X", "M" = "Y"} ;
dt:sex << Set Property( "Value Labels", labelsList )
);
f
Oggetto: Perché ::labelslist?"Sconosciuto" significa che JMP ha rilevato un errore imprevisto e non ha una spiegazione migliore. Segnalalo e spiega cosa pensi che dovrebbe fare; uno sviluppatore avrà la possibilità di risolverlo, o rendendolo funzionante in modo ragionevole o migliorando il messaggio di errore.
Oggetto: Perché ::labelslist?JMP19 forse esegue la valutazione nella tabella dati, motivo per cui viene utilizzato il valore globale. Ci si potrebbe chiedere se tale valutazione debba effettivamente avvenire.
La colonna memorizza la proprietà della colonna con i valori forniti senza valutazione o convalida degli argomenti forniti. Per aggiungere proprietà di colonna che contengono variabili utilizzando codice JSL, lo script deve convertire le variabili nei loro valori effettivi. Guida allo scripting > Tabelle dati > Utilizzo delle colonne > Impostare o ottenere le proprietà delle colonne.
È anche possibile far crashare JMP con JMP19 se si racchiude la variabile tra {} (JMP18 non si bloccherà e si otterrà un errore di tentativo di assegnazione ).