Remove From()関数が意図したとおりに機能していないことに気付きました(そして、そのドキュメントはScripting IndexとJMPヘルプの両方で間違って書かれています)。 最後の要素がリストから削除されると、不合理に動作するようです。
これについてJMPサポートに連絡しました。 彼らによると、意図された動作は次のとおりです(私が期待するのと同じです):
予想される動作は、最初の9つのアイテムについて例が示すように、RemoveFromが削除されたアイテムを返すことです。さらに、アイテムを削除することで入力コンテナを変更します。
これが修正され、ドキュメントが更新されるタイムラインについて彼らが知っているかどうか、私はまだ彼らから返事をもらっていません。 タイムラインで返信があれば、ここに報告します。
例と1つの「回避策」(削除元と同じ動作が本当に必要な場合は、今のところ独自の関数を作成します):
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^"));
);