1 (изменено: SUser, 2018-07-19 11:06:29)

Тема: AHK: Вывод переменной со случайным индексом

Здравствуйте.
Вопрос примитивный до ужаса, но не смог найти ответ или пример. Можно реализовать через множество IF, но это слишком объемно и некрасиво

Есть набор определенных переменных (Key1, Key2, Key3, ... KeyN), которые имеют текст внутри. Необходимо выводить в случайном порядке переменные и присваивать заголовочной переменной word. Для этого использовалась функция random.

Примерно так:

Key1 = "text1"
Key2 = "text2"
...
KeyN = "text3"

random, vall,1,N

Далее вопрос. Необходимо присвоить значение переменной KeyN с индексом случайной переменной vall в переменную word. Можно-ли это сделать в одну строку? Например: word = %Key%vall (да, это не работает, но думаю суть примерно объяснил).
Т.е. чтобы по факту если vall имеет значение 2, то присвоилось значение word = %Key2 и вывод Msgbox, %word давал результат text2.

Благодарю.

2 (изменено: teadrinker, 2018-07-19 13:47:22)

Re: AHK: Вывод переменной со случайным индексом

Key1 := "text1"
Key2 := "text2"
Key3 := "text3"

Random, val, 1, 3
MsgBox % word := Key%val%

Но лучше так:

keys := ["text1", "text2", "text3"]
Random, idx, 1, keys.MaxIndex()
MsgBox % word := keys[idx]
Разработка AHK-скриптов:
e-mail dfiveg@mail.ru
Telegram jollycoder