안녕하십니까,
저는 JMP 16 및 JSL을 처음 사용하지만 숙련된 프로그래머입니다.
어떤 이유로 "Map Value" 기능을 사용하고 싶지만 잘못된 결과가 나타납니다.
내가 달성하고 싶은 것은 숫자와 문자열을 포함하는 목록에서 목록으로 제공된 원치 않는 항목을 제거하는 것입니다
다음 함수는 na_list(예: {option1, option2 ,...})에서 {option1, 0, option2, 0, ...} 형식의 na_values라는 "맵 값"에 대한 목록을 구성합니다.
"Filter Each" 및 Map Value" 기능을 사용하여 필터링합니다.
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;));
);그러나 다른 문자(!)로 입력 목록을 호출하면 다른 결과가 나타납니다.
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
요소 "b"를 제외하려고 시도하는 경우에만 예상대로 작동하지만 다른 문자열에서는 작동하지 않습니다!
여기서 무슨 문제가 있습니까? JMP의 버그? 버전 16.0.0(512257)을 사용하고 있습니까?
친애하는,
도마