copy ringcopy に同一配列を渡すと内容を破壊されることがあります。 当然こちらとしては memmove(3) 的な動作を期待してたんだけどな。 仕様かもしれませんが、まあバグに近い。 ∵システム側で条件分岐するのに比べ、ユーザプログラムで同じ処理するのには莫大なコストがかかる。 def と配列に関しては、 ローカル配列変数を返す def f を、配列を受け取る別の def g にそのまんま渡すとバグることがありましたね。(3.3.2) (var v[n], w[m]: w = f(g(v)) みたいな感じ) 一旦変数を介す事で回避できたので (var v[n], w[m], u[k]: u=g(v): w=f(u) みたいな感じ) 深く追求しませんでしたけど。