Remove From() 함수가 의도한 대로 작동하지 않는다는 것을 발견했습니다(스크립팅 인덱스와 JMP 도움말 모두에 해당 함수에 대한 설명이 잘못되어 있습니다). 목록에서 마지막 요소를 제거할 때 함수가 비정상적으로 작동하는 것 같습니다.
이 문제에 대해 JMP 지원팀에 문의했습니다. JMP 지원팀에 따르면 의도된 동작은 다음과 같습니다(제가 예상했던 것과 동일합니다).
예상되는 동작은 Remove From이 예제에서 보여준 것처럼 처음 9개 항목에 대해 제거된 항목을 반환한다는 것입니다. 또한, 항목을 제거하여 입력 컨테이너를 수정합니다.
아직 이 문제가 해결되고 문서가 업데이트될 일정에 대한 답변을 받지 못했습니다. 일정에 대한 답변을 받으면 여기에 다시 알려드리겠습니다.
예시와 하나의 "해결 방법"(Remove From과 동일한 동작이 정말 필요하다면 지금은 해당 함수를 직접 작성하겠습니다):
Names Default To Here(1);
m = 1::10;
For Each({item}, m,
earlier_m = m;
// Returns: The original source with the items deleted.
// Doesn't this return deleted list (except when it is last element...)
removed = Remove From(m, 1);
Print(Eval Insert("^removed^ removed from ^earlier_m^"));
);
// workaround?
m = 1::10;
For Each({item}, m,
earlier_m = m;
removed = m[1];
Remove From(m, 1);
Print(Eval Insert("^removed^ removed from ^earlier_m^"));
);