Remove From() 関数が意図したとおりに動作していないことに気づきました(スクリプト索引とJMPヘルプの両方で、その説明が誤っています)。リストの最後の要素を削除すると、不合理な動作をするようです。
この件についてJMPのサポートに問い合わせました。彼らによると、想定されている動作は以下のとおりです(私の予想通りです)。
想定される動作は、Remove From が、例に示されているように最初の9つの項目について削除された項目を返すことです。さらに、項目を削除することで入力コンテナを変更します。
この問題がいつ修正され、ドキュメントが更新されるのか、彼らからまだ連絡がありません。タイムラインが分かり次第、ここで報告します。
例と 1 つの「回避策」 (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^"));
);