Bonjour,
Je suis nouveau sur JMP 16 et JSL mais je suis un programmeur expérimenté.
Pour certaines raisons, je souhaite utiliser la fonction "Map Value" mais cela me donne de mauvais résultats.
Ce que je veux réaliser, c'est supprimer les éléments indésirables donnés sous forme de liste à partir d'une liste contenant des nombres et des chaînes
La fonction suivante construit une liste pour "Map Value" nommée na_values sous la forme {option1, 0, option2, 0, ...} à partir de la na_list, par exemple {option1, option2 ,...}
et le filtre à l'aide de la fonction "Filtrer chaque" et la fonction "Valeur de la carte".
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;));
);Mais cela me donne des résultats différents si j'appelle la liste d'entrée avec des caractères différents (!).
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
Seulement si j'essaie d'exclure l'élément "b", cela fonctionne comme prévu, mais pas pour différentes chaînes !
Qu'est-ce qui ne va pas ici? Un bug dans JMP ? J'utilise la version 16.0.0 (512257) ?
Meilleures salutations,
Thomas