我注意到 Remove From() 函数没有按预期工作(并且它的文档在脚本索引和 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^"));
);