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