Если я перебираю массив строк и использую каждую строку в качестве ключа для ассоциативного массива, ключ, являющийся строковым представлением числа, не может "найти" соответствующее ему значение:
KeyArray := Array("AAA", "777")
AssocArray := {"AAA":{"Item1":"Item1Value", "Item2":"Item2Value"}
,"777":{"Item1":"Item1Value", "Item2":"Item2Value"}}
Loop % KeyArray.Length() {
aKey := KeyArray[A_Index]
aValue := AssocArray[aKey]
sResult := aKey . ": " . aValue["Item1"] . "`t" . aValue["Item2"]
ToolTip, % sResult
OutputDebug % "[AHK] sResult: " . sResult . " "
Sleep 5000
}
Если, однако, я использую цикл For для итерации ключей:
For aKey, aValue In AssocArray {
sResult := aKey . ": " . aValue["Item1"] . "`t" . aValue["Item2"]
ToolTip, % sResult
OutputDebug % "[AHK] sResult: " . sResult . " "
Sleep 5000
}
Тогда «777» распознается как ключ, и его значения возвращаются правильно. В противном случае, если я удалю кавычки из «777»«В KeyArray и AssocArray оба цикла находят правильные значения.
Теперь вопрос:
Как правильно использовать строковое представление числа в качестве ключа для ассоциативного массива?
Большое спасибо!