AutoHotKey 2 ассоциативные массивы.

21.9.2023 - 398 просмотров ;)

Суть в том что ассоциативные массивы в 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»])

Почти идеально

Статьи из раздела, Видеочат рулетка