Суть в том что ассоциативные массивы в AutoHotKey 2 - это Карты... Да ! вот так.. взяли и обозвали это картами. В AutoHotKey 1 такого не было и были нормальные ассоциативки.
документация разбросана, нихрена не понятно...
короче если определяем так
z := { zh:"китайский", my:"бирманский" }
Перебираем так
for index,value in z.OwnProps()
MsgBox(index " " value)
Да, OwnProps() - это загадка дыры откуда эта фигня вылезла.. почему от нее не избавились непонятно, но без нее не работает, или может я не все углядел, а может быть можно было работать с объектами аналогично но с нормальным синтаксисом.
но в них нельзя использовать ключ в кавычках.. а что бы было можно тогда надо использовать не объектую декларацию а определять карту(map)
т.е. простое перечисление элементов: