Тема: AHK: Запись в массив из строки
Доброго.
Запутался с массивами. Пробовал разные варианты, все где-то рядом, но не то.
Есть строка вида:
мусор, мусор, мусор, [A] Остров, Имя, Количество, Цена, [A] Остров, ...., Цена и т.д.
Надо записать в ассоциативный массив все элементы "Остров, Имя, Количество, Цена", в таком виде:
Array := [{Island: "123", Name: "test", quantity: 11, price: 197}
, {Island: "2", Name: "bla", quantity: 505, price: 16600}
, ...]
Сейчас у меня сортирует и записывает, но не правильно. Из того что я пробывал, либо записывает в многомерный массив, либо в ассоциативный но только с одной ключ парой.
FileEncoding, UTF-8
FileRead, ni, ni.txt
Aluminum_arr := []
Array_temp := StrSplit(ni, ",")
For Key, Value in Array_temp
{
if InStr(Value, "["[A-Z]"]") {
arr_index += 1
Aluminum_arr[arr_index] := ({Island: Value})
Continue
}
if (arr_index >= 1) {
temp_index += 1
if (temp_index == 2) {
Array := StrSplit(Value, "\t")
Aluminum_arr[arr_index] := ({quantity: Array[2]})
price_temp := RegExReplace(Array[3], "[^\d]", "")
Aluminum_arr[arr_index] := ({price: price_temp})
temp_index := 0
Continue
}
Aluminum_arr[arr_index] := ({name: Value})
}
}
Return
; Пропускаю мусор, записываю Остров
; После Острова записываю имя, количество и цену
; Дальше опять Остров
Хотя бы в теории, как правильно добавлять в нужном мне виде в массив?