前提・実現したいこと
私、VBScriptでArrayListを使い2×2の二次元配列を作ろうとしておりますが、実行時の処理が思い通りにいかず困っています。
原因または解決策をご存じの方はいらっしゃいませんか。
ただ今後、要素が増える可能性がございますので、要素が増えても対応できる処理にしようと考えております。
私の行った手順は以下です。
該当のソースコード
VBScript
1Option Explicit 2On Error Resume Next 3 4''''ArrayListの作成'''' 5Dim myArrayList '全データ保存用配列 6 Set myArrayList = CreateObject("System.Collections.ArrayList") 7 8Dim oneArrayList 'データ追加用配列 9 Set oneArrayList = CreateObject("System.Collections.ArrayList") 10 11''''要素の追加'''' 12oneArrayList.add "A-A" 13oneArrayList.add "A-B" 14 15myArrayList.add oneArrayList 'A,Bが入った配列を保存用に追加 16 17oneArrayList.Clear() '要素を削除 18 19oneArrayList.add "B-A" 20oneArrayList.add "B-B" 21 22myArrayList.add oneArrayList 'C,Dが入った配列を保存用に追加 23 24'======================= 25'"A"->"B"->"C"->"D"の順に表示されるはずが、 26'"C"->"D"->"C"->"D"の順に表示されてしまう。 27'====================== 28 29''''要素の表示'''' 30Dim inAry 31Dim inData 32For Each inAry In myArrayList 33 For Each inData In inAry 34 Wscript.Echo inData 35 Next 36Next 37 38Set myArrayList = Nothing 39Set oneArrayList = Nothing
試したこと
・oneArrayListを使い回さずに、新たにtwoArrayListを追加した場合、処理はうまくいきますが、
今後、three,four...と増やす訳にはいきませんので解決には至りませんでした。
補足情報(FW/ツールのバージョンなど)
WSH の バージョン :5.812
デバッガー:使っておりません、メモ帳で作成して実行しています。
OS:Windows 10
メモリ:8GB
以上です。よろしくお願い致します。
入れた順番で取り出すという事がしたいのですか?
回答1件
あなたの回答
tips
プレビュー