let src_array = [0, 1, 2, 3, 4]; //元の配列。 let wrk_array = src_array; //内容を書き換えるので、コピー。 let dst_array = []; //結果の配列。 let array_max = length(src_array); loop(length(src_array)) { let idx = rand_int(0, array_max-1); dst_array = dst_array~[ wrk_array[idx] ]; wrk_array[idx] = wrk_array[array_max-1]; array_max--; } //ここから確認用コード。 ascent(i in 1..6) { OutputDebugString(i, "src", src_array[i-1]); OutputDebugString(i+5, "dst", dst_array[i-1]); }