まず、スクリプトを使用して(vbsまたはpowershellで)実行したいのですが、ファイルを開いて書き換える最良の方法の問題により、このアイデアには多くの時間がかかります。書き換え後のファイル コード形式に問題がある可能性があります。+それらの正規表現を調査する時間。また、いくつかのログシステムが開発されています(どのファイルがどのように変更されたかを知るため)。正規表現検索がないため、GMS だけを使用することはできません。
したがって、私にとって最良の方法は Notepad++ ( https://notepad-plus-plus.org/downloads/ ) でした。
まず、すべての [i,j] を [i][j] に置き換えます
- メモ帳++を開く
- プロジェクト フォルダのドラッグ アンド ドロップ
- 職場のフォルダーを右クリック > ファイル内を検索..
- [ファイル] タブで検索
- 何を見つける:
([\w])(\[\s*)([^\]\[]+)(\s*,\s*)([^\[\]]+)(\s*\])
- と置換する:
\1\[\3\]\[\5\]
- フィルター:
*.gml
- 正規表現ラジオボタン
- すべてのサブフォルダー内のチェックボックス
- [すべて検索] ボタン
- 見つかったすべての場所を調査し、すべて OK の場合は [ファイルで置換] ボタンをクリックします。
次に、[[i][j],k] を [[i][j]][k] に修正することを考えます。
- 前と同じですが、
- 何を見つける:
([\w])(\[\s*)([^\]\[]+\]\[[^\]\[]+\])(\s*,\s*)([^\[\]]+)(\s*\])
- と置換する:
\1\[\3\]\[\5\]
- 難しいロジックがある場合は問題になる可能性があります
次に、すべての array_height_2d を array_length に置き換えます
- 前と同じですが、
- 何を見つける:
array_height_2d\(
- と置換する:
array_length\(
- array_height_2d の存在を確認する
3番目に、すべてのarray_length_2dをarray_lengthに置き換えます
- 前と同じですが、
- 何を見つける:
(array_length_2d\(\s*)([^\(]+)(\s*,\s*)([^\)]+)(\s*\))
- と置換する:
array_length\(\2\[\4\]\)
- array_length_2d の存在を確認します (array_length_2d チェック内でスクリプトを使用している場合がある可能性があります)
最後に、すべての array_length_1d を array_length に置き換えます
- 前と同じですが、
- 何を見つける:
array_length_1d\(
- と置換する:
array_length\(
- array_length_1d の存在を確認する
また、2 次元配列の作成に問題がある可能性もあります。アクセサーを使用する場合は、プロパティにアクセスする前に配列を完全に初期化する必要があります。(以前は、アクセサ自体が配列サイズを増やしていました)
次に、その他のコーナー ケースを修正します。