所谓变量是内存中保存数据的一块空间, 因此它可以快速访问.
您可以把它想象成在内存中的邮箱, 我们可以往里面存信也可以取信.
例如您可以创建一个变量用来保存用户响应的数值, 或某个数学表达式的运算结果.
每个变量都有自己的名字(这跟邮箱是不是很像), 而且必须以英文 $ 符号为首字符,其后只能包含字母、数字和下划线"_".
下面是一些有效的变量名:
$var1
$my_variable
每个变量存储为一个 variant.
AutoIt 使用关键字 Dim, Local and Global 申名并创建变量:
Dim $var1
或者也可以一次申名多个变量:
Dim $var1, $myvariable
也可以指定一个未申明的第一变量, 但很多人都是宁愿明确的事先申名.
$var1 = "创建并赋值"
使用关键字 Const 申明并创建常量:
Const $const1 = 1, $const2=12
也可以使用关键字 Enum 申明并设定初值:
Enum $const1 = 1, $const2,
$const3 ; 返回 1, 2, 3
Enum STEP 2 $incr0, $incr2,
$incr4 ; 返回 0, 2, 4
Enum STEP *2 $mult1, $mult2, $mult4
; 返回 1, 2, 4
常量不能重新申明为一个已经存在的变量.
某个变量的作用域要看您是何时以及如何声明该变量的. 如果您在脚本开头且在所有函数之外声明了某个变量,
则该变量将在全局范围内存在, 此时可以在脚本的任意位置读取或更改该变量. 我们把这种变量称为全局变量.
如果是在某个 函数 内部声明一个变量, 则该变量就只能该函数的局部范围内有效.
我们把这种变量称为局部变量.在函数内创建的变量, 该函数结束时会自动销毁.
默认使用 Dim 声明的变量或在函数内部直接赋值的变量都是局部变量,
除非存在一个同名的全局变量(此时将视此变量为全局变量).
另外可以使用关键字 Local 与 Global 声明变量以强制变量的作用域.
所谓 数组 是一系列具有相同类型和大小的变量集合,
其中每个变量可以用相应的索引序号(或称下标)来访问.
示例:
假设你要存储这样一系列的字符: "A", "U", "T", "O", "I", "T" 与 "3".
可以使用7个单独的变量来完成,但使用如下数组将更有效率:
$Array[0]="A"
$Array[1]="U"
..其它等等..
$Array[6]="3"
访问数组中的某个特定值,你只需知道它的索引序号(或称下标):
$MyChar=$Array[2]
这将使变量 $MyChar 的值为字母 "T" (见: '运算符').
索引(或称下标)也可以使用变量或表达式, 这样可以建立更加复杂的方式来赋值或访问数组元素.
数组可以是多维的, 当你使用多个下标时, 例如:
$Array[0][0]="Upper-Left"
$Array[1][0]="Lower-Left"
$Array[0][1]="Upper-Right"
$Array[1][1]="Lower-Right"
(这里的值只是例子)
你最高可以使用 64 维数组. 项目的总数不能超过 2^24 (16 777 216).
当你在脚本里使用数组之前, 你必须使用关键字 Dim
定义它的维数.
有人说数组只能包含一种数据类型. 但是从技术上来讲, AutoIt
内的变量可以包含包括布尔值在内的任何数据.
所以一个 AutoIt 数组也可以包含不同的类型,甚至别的数组:
$Array[0]=1
$Array[1]=true
$Array[2]="Text"
$Array[3]=$AnotherArray
虽然 AutoIt 并不明确禁止在一个数组中混合使用多种数据类型, 然而, 那样做是极不明智的.
尤其是当一个数组内使用另一个数组时,将严重影响脚本的运行速度.
provider with jb51.net (unicode) |