在变量设置中使用变量

Mec*_*ash 0 autoit

我想枚举一个变量:

$x = 0
Do
  $x+=1
  $Day$x = True
Until $x = 7
Run Code Online (Sandbox Code Playgroud)

以上返回语法错误$Day$x(因为它只应该在命令中看到一个变量).所以基本上,我想要$Day1 = True,$Day2 = True等等等等.有没有办法实现这个目标?

Jos*_*ond 5

欢迎来到奇妙的阵列世界.

#include <Array.au3> ; for debugging

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

_ArrayDisplay($Day) ; For debugging
Run Code Online (Sandbox Code Playgroud)

实际上,您可以使用$ Day1,$ Day2,$ Day3执行您最初描述的内容,但这将是一个非常糟糕的编程习惯,我个人强烈反对它.话虽如此,可以使用Assign功能.你完全错误地使用它.但为了完整性,这里是如何:

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

MsgBox(0, "", $Day2)
Run Code Online (Sandbox Code Playgroud)