所謂變量是內(nèi)存中保存數(shù)據(jù)的一塊空間, 因此它可以快速訪問(wèn).
您可以把它想象成在內(nèi)存中的郵箱, 我們可以往里面存信也可以取信.
例如您可以創(chuàng)建一個(gè)變量用來(lái)保存用戶響應(yīng)的數(shù)值, 或某個(gè)數(shù)學(xué)表達(dá)式的運(yùn)算結(jié)果.
每個(gè)變量都有自己的名字(這跟郵箱是不是很像), 而且必須以英文 $ 符號(hào)為首字符,其后只能包含字母、數(shù)字和下劃線"_".
下面是一些有效的變量名:
$var1
$my_variable
每個(gè)變量存儲(chǔ)為一個(gè) variant.
AutoIt 使用關(guān)鍵字 Dim, Local and Global 申名并創(chuàng)建變量:
Dim $var1
或者也可以一次申名多個(gè)變量:
Dim $var1, $myvariable
也可以指定一個(gè)未申明的第一變量, 但很多人都是寧愿明確的事先申名.
$var1 = "創(chuàng)建并賦值"
使用關(guān)鍵字 Const 申明并創(chuàng)建常量:
Const $const1 = 1, $const2=12
也可以使用關(guān)鍵字 Enum 申明并設(shè)定初值:
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
常量不能重新申明為一個(gè)已經(jīng)存在的變量.
某個(gè)變量的作用域要看您是何時(shí)以及如何聲明該變量的. 如果您在腳本開頭且在所有函數(shù)之外聲明了某個(gè)變量,
則該變量將在全局范圍內(nèi)存在, 此時(shí)可以在腳本的任意位置讀取或更改該變量. 我們把這種變量稱為全局變量.
如果是在某個(gè) 函數(shù) 內(nèi)部聲明一個(gè)變量, 則該變量就只能該函數(shù)的局部范圍內(nèi)有效.
我們把這種變量稱為局部變量.在函數(shù)內(nèi)創(chuàng)建的變量, 該函數(shù)結(jié)束時(shí)會(huì)自動(dòng)銷毀.
默認(rèn)使用 Dim 聲明的變量或在函數(shù)內(nèi)部直接賦值的變量都是局部變量,
除非存在一個(gè)同名的全局變量(此時(shí)將視此變量為全局變量).
另外可以使用關(guān)鍵字 Local 與 Global 聲明變量以強(qiáng)制變量的作用域.
所謂 數(shù)組 是一系列具有相同類型和大小的變量集合,
其中每個(gè)變量可以用相應(yīng)的索引序號(hào)(或稱下標(biāo))來(lái)訪問(wèn).
示例:
假設(shè)你要存儲(chǔ)這樣一系列的字符: "A", "U", "T", "O", "I", "T" 與 "3".
可以使用7個(gè)單獨(dú)的變量來(lái)完成,但使用如下數(shù)組將更有效率:
$Array[0]="A"
$Array[1]="U"
..其它等等..
$Array[6]="3"
訪問(wèn)數(shù)組中的某個(gè)特定值,你只需知道它的索引序號(hào)(或稱下標(biāo)):
$MyChar=$Array[2]
這將使變量 $MyChar 的值為字母 "T" (見(jiàn): '運(yùn)算符').
索引(或稱下標(biāo))也可以使用變量或表達(dá)式, 這樣可以建立更加復(fù)雜的方式來(lái)賦值或訪問(wèn)數(shù)組元素.
數(shù)組可以是多維的, 當(dāng)你使用多個(gè)下標(biāo)時(shí), 例如:
$Array[0][0]="Upper-Left"
$Array[1][0]="Lower-Left"
$Array[0][1]="Upper-Right"
$Array[1][1]="Lower-Right"
(這里的值只是例子)
你最高可以使用 64 維數(shù)組. 項(xiàng)目的總數(shù)不能超過(guò) 2^24 (16 777 216).
當(dāng)你在腳本里使用數(shù)組之前, 你必須使用關(guān)鍵字 Dim
定義它的維數(shù).
有人說(shuō)數(shù)組只能包含一種數(shù)據(jù)類型. 但是從技術(shù)上來(lái)講, AutoIt
內(nèi)的變量可以包含包括布爾值在內(nèi)的任何數(shù)據(jù).
所以一個(gè) AutoIt 數(shù)組也可以包含不同的類型,甚至別的數(shù)組:
$Array[0]=1
$Array[1]=true
$Array[2]="Text"
$Array[3]=$AnotherArray
雖然 AutoIt 并不明確禁止在一個(gè)數(shù)組中混合使用多種數(shù)據(jù)類型, 然而, 那樣做是極不明智的.
尤其是當(dāng)一個(gè)數(shù)組內(nèi)使用另一個(gè)數(shù)組時(shí),將嚴(yán)重影響腳本的運(yùn)行速度.
provider with jb51.net (unicode) |