Ciao,
Sono nuovo di JMP 16 e JSL ma sono un programmatore esperto.
Per alcuni motivi voglio usare la funzione "Valore mappa" ma questo mi dà risultati errati.
Quello che voglio ottenere è rimuovere gli elementi indesiderati forniti come elenco da un elenco contenente numeri e stringhe
La seguente funzione costruisce un elenco per "Valore mappa" denominato na_values nella forma {opzione1, 0, opzione2, 0, ...} da na_list ad esempio {opzione1, opzione2 ,...}
e lo filtra utilizzando la funzione "Filtra ciascuno" e il valore mappa".
wrap = function({filtered list,na_list}, {Default Local},
For Each( {value}, na_list, na_values=Insert(na_values,value);na_values=Insert(na_values,1););
return(Filter Each({value}, filtered list, Map Value(value, na_values, Unmatched(0))==0;));
);Ma mi dà risultati diversi se chiamo l'elenco di input con caratteri diversi (!).
Show(wrap({"b",1, 2, 3},{"b"})); // <-- returns {1,2,3} => OK
Show(wrap({"d",1, 2, 3},{"d"})); // <-- returns {"d",1,2,3} => NOT OK
Solo se provo ad escludere l'elemento "b" funziona come previsto, ma non per stringhe diverse!
Cosa c'è che non va qui? Un bug in JMP? Sto usando la versione 16.0.0 (512257)?
Distinti saluti,
Tommaso