Тема: AHK: Заполнение двумерного массива через функцию, вывод первого.
Добрый день!
Начал работать с многомерными массивами недавно, очень сложно разобраться. Ниже представлен код, в нем функция заполняет массив(двумерный) через парсинг и выводит его путем глобализации.
Проблема состоит в том, что почему-то, заполняется только последний элемент(последний подмассив), никак не могу найти ошибку, помогите пожалуйста!
Example := "moveR 5 6`n`nMoveR 3 4"
GetMacrosScript(MacrosScript)
{
Loop, Parse, % MacrosScript, % "`n`r"
{
CommandTemp := A_LoopField
StringIndex += 1
MsgBox, % StringIndex
global MacrosAr:=[]
if CommandTemp contains MoveR
{
Erri := 0
Loop, Parse, % CommandTemp, % " "
{
if (A_Index = 2+Erri)
{
if (A_LoopField <> "") and (A_LoopField <> "MoveR")
MoveX := A_LoopField
else
Erri+=1
}
if (A_Index = 3+Erri)
{
if (A_LoopField <> "") and (A_LoopField <> "MoveR")
{
MoveY := A_LoopField
break
}
else
Erri+=1
}
}
MacrosAr[StringIndex] := ["MoveR", MoveX, MoveY]
}
}
}
GetMacrosScript(Example)
for index, element in MacrosAr
{
MsgBox, % "Строка номер: " index ", Команда: " MacrosAr[index][1] ", Параметр 1: " MacrosAr[index][2] ", Параметр 2: " MacrosAr[index][3]
}
MsgBox выводит только 2 элемент основного массива и соответственно его подмассив, очень мало информации на AHK-Wiki по этой теме и здесь на форуме тоже особо ничего не нашел(.