変なコード
なんか変なコードを見た。ちなみ VBScript(in ASP)。
Set Dict = CreateObject("Scripting.Dictionary") For Each Line In Lines Ary = Split(Line, "=") For I = 1 To UBound(Ary) - 1 Ary(1) = Ary(1) & "=" & Ary(1 + I) Next Dict(Ary(0)) = Ary(1) Next
なんだかいろいろひどい。
ループの範囲が変
ループ範囲も、Ary(1 + I) で参照するのも、必然性がなく、良く分からない。せめて、2 To UBound(Ary) の方が、まだ分かりやすいのではないか。
Set Dict = CreateObject("Scripting.Dictionary") For Each Line In Lines Ary = Split(Line, "=") For I = 2 To UBound(Ary) Ary(1) = Ary(1) & "=" & Ary(I) Next Dict(Ary(0)) = Ary(1) Next
Ary の役割が分かりにくく、曖昧
分割した配列に直接代入しているため、Ary の役割がよく分からなくなっている。
素直に別の変数を用意した方が良い。
Set Dict = CreateObject("Scripting.Dictionary") For Each Line In Lines Ary = Split(Line, "=") Key = Ary(0) Value = "" For I = 1 To UBound(Ary) Value = Value & "=" & Ary(I) Next Dict(Key) = Value Next
Split の仕様を知らない
まぁ、Split に分割数を指定すればいいよねぇ。
Set Dict = CreateObject("Scripting.Dictionary") For Each Line In Lines Ary = Split(Line, "=", 2) Dict(Ary(0)) = Ary(1) Next