1 (изменено: erros85, 2021-04-29 02:44:53)

Тема: AHK: Почему A.i =/= A.j при i=j?

Здравствуйте.
Я не понимаю, почему при разных переменных с одинаковыми значениями выдаётся разный результат из массива.
Объясните, пожалуйста, что я делаю не так.
Почему A.i = "1000", а A.j = "" при одинаковых i=j=1?

A := []
i := 1
j := 1
A.i := 1000
msgbox, % "A[" i "] =" A.i " / A[" j "] =" A.j

Собственно я хочу сделать два последовательных цикла с одним массивом, но разными перечисляемыми переменными и всё время что то идёт не так.

2

Re: AHK: Почему A.i =/= A.j при i=j?

erros85 пишет:
A.i := 1000

В данном случае i — это не переменная, а строчное значение. То есть вы присваиваете ключу с названием i значение 1000, а ключ j вовсе не определён. Чтобы использовать i, как переменную, нужен такой синтаксис:

A := []
i := 1
A[i] := 1000
MsgBox, % A[i]
Разработка AHK-скриптов:
e-mail dfiveg@mail.ru
Telegram jollycoder

3

Re: AHK: Почему A.i =/= A.j при i=j?

Спасибо.
Ориентировался на эту статью, но что-то пошло не так.
https://ahk-wiki.ru/array

4

Re: AHK: Почему A.i =/= A.j при i=j?

Старайтесь читать оригинал справки.

Разработка AHK-скриптов:
e-mail dfiveg@mail.ru
Telegram jollycoder