2012-02-08 6 views
0

Я хочу перечислить переменную как так:Использование переменных в устанавливающих переменных

$x = 0 
Do 
    $x+=1 
    $Day$x = True 
Until $x = 7 

выше возвращает синтаксическую ошибку $Day$x (потому что он только должен видеть одну переменную в команде). Поэтому в основном, я хочу $Day1 = True, $Day2 = True, так далее и так далее. Есть ли способ сделать это?

+0

Нормальный способ оболочки, чтобы сделать это было бы '$ {день $ х}', но я понятия не имею, если это работает с AutoIt –

+0

[Относящиеся] (https: // StackOverflow .com/а/44510404/4157124). – user4157124

ответ

5

Добро пожаловать в прекрасный мир массивов.

#include <Array.au3> ; for debugging 

Global $Day[7] 
$x = 0 
Do 
    $Day[$x] = True 
    $x+=1 
Until $x = 7 

_ArrayDisplay($Day) ; For debugging 

Вы можете на самом деле делать то, что вы первоначально описаны с $ день1, $ DAY2, $ Day3, но это было бы очень плохо практика программирования, и я лично сильно отговаривать его. Это можно сказать с помощью функции Assign. Вы использовали бы его по совершенно неправильной причине. Но для полноты картины, вот как:

$x = 0 
Do 
    Assign("Day" & $x, True) 
    $x+=1 
Until $x = 7 

MsgBox(0, "", $Day2) 
Смежные вопросы