In AutoIt 只有一個叫做 Variant(變量) 的數(shù)據(jù)類型.
一個 Variant(變量) 可以是數(shù)字或字符串, 如何使用這些數(shù)據(jù)要視情況而定.
例如,若試圖讓兩個變量相乘, 則它們將被當(dāng)作數(shù)字類型, 而試圖連接(拼合)兩個變量,則它們將被視為字符串.
示例:
10 * 20 --- 等于數(shù)字 200 (符號 * 用于兩個數(shù)相乘)
10 * "20" --- 等于數(shù)字 200
"10" * "20" --- 等于數(shù)字 200
10 & 20 --- 相當(dāng)于字符串 "1020" (符號 & 用于連接字符串)
如果一個字符串被當(dāng)作數(shù)字使用時,隱含調(diào)用 Number() 函數(shù)操作.
如果字符串不包含有效的數(shù)字, 則它會被假定為等于 0. 例如:
10 * "fgh" --- 結(jié)果等于數(shù)字 0.
如果字符串被用于布爾運算, 并且字符串為 "" , 則字符串被視為 False (見下文). 例如:
NOT "" --- 等于布爾值 true. ( NOT "" 意為非假,結(jié)果即真. )
數(shù)字可以是類似 2, 4.566, 與 -7 的標(biāo)準(zhǔn)十進制數(shù)字
指數(shù)形式也被支持,因此你可以用 1.5e3 代替數(shù)字 1500.
整數(shù)也可以用十六進制來表示, 只需添加前綴 0x. 例如 0x409 或 0x4fff.
(當(dāng)使用十六進制表示法時, 只有 32 位數(shù)字是有效的).
字符串以一對英文雙引號括起來, 比如 "這個". 如果字符串包含雙引號, 則需連續(xù)兩次使用雙引號括, 比如:
"這是 ""au3 文件 "" - 對嗎?"
您也可以使用單引號代替雙引號,例如 '這個' 與 '這是 ' 'au3 文件' ' - 對嗎?'
可以混合使用引號類型,已避免出現(xiàn)雙重的同一引號.
如果字符串包含大量雙引號, 則可以這樣使用單引號:
'這個 "句子" 包含 "許多" 的 "雙引號", 你看清楚了嗎?'
該例使用單引號來括住整個有多個雙引號的字符串,看起來就沒有下面常規(guī)表示方法那么累贅了:
"這個 ""句子"" 包含 ""許多"" 的 ""雙引號"",你看清楚了嗎?"
計算時, 字符串可以有 Env(環(huán)境變量) 或 Var 變量, 根據(jù) Opt() 函數(shù)的定義變換.
布爾值是一個邏輯值. 只有兩個布爾值存在: true 與
false.
加上布爾運算符 and, or 與 not 時, 它們可以用于給變量賦值.
示例:
$Boolean1 = true
$Boolean2 = false
$Boolean3 = $Boolean1 AND $Boolean2
結(jié)果: $Boolean3 為 false
$Boolean1 = false
$Boolean2 = not $boolean1
結(jié)果: $Boolean2 為 true
如果布爾值與數(shù)字一起使用, 適用以下規(guī)則:
數(shù)字 0 等于布爾值 false
其他任何數(shù)字等于布爾值 true
示例:
$Number1 = 0
$Boolean1 = true
$Boolean2 = $Number1 and $Boolean1
結(jié)果 $Boolean2 為 false
如果您使用算術(shù)連同布爾值(這是不可取的!), 適用以下規(guī)則:
布爾值 true 將被轉(zhuǎn)換成數(shù)字值 1
布爾值 false 將被轉(zhuǎn)換成數(shù)字值 0
示例:
$Boolean1 = true
$Number1 = 100
$Number2 = $Boolean1 + $Number1
結(jié)果返回 $Number2 的值為 101
如果將布爾值轉(zhuǎn)換為字符串, 它們將被轉(zhuǎn)換成:
布爾值 true 將轉(zhuǎn)換為字符串值 "True"
布爾值 false 將轉(zhuǎn)換為字符串值 "False"
示例:
$Boolean1=true
$String1="測試為: "
$String2=$String1 & $Boolean1
結(jié)果返回 $String2 的字符串值 "測試為: True"
如果將字符串轉(zhuǎn)換為布爾值,適用下列規(guī)則:
空字符串 ("") 將返回布爾值 false
任何其他字符串值(包括等于 “0” 的字符串)將返回布爾值 true
二進制類型可以存儲任何字節(jié)值. 當(dāng)存儲字符串變量時, 它們被轉(zhuǎn)換為十六進制. 示例:
$bin = Binary("abc")
$str = String($bin) ;返回 "0x616263"
指針類型存儲 32 位或 64 位內(nèi)存地址. 取決于使用的 32 位或 64 位的 AutoiIt 版本.
在一個字符串變量中, 它們被轉(zhuǎn)換為十六進制.
窗口句柄 (HWnd) 就是一個由 WinGetHandle 返回的指針類型.
下表顯示內(nèi)部變量的數(shù)據(jù)類型和它們的范圍.
數(shù)據(jù)子類型 | 取值范圍 |
Int32 | 32 位帶符號整數(shù). |
Int64 | 64 位帶符號整數(shù) |
Double | 雙精度浮點數(shù). |
String | 可以包含多達 2147483647 個字符的字符串. |
Binary | 二進制數(shù)據(jù), 可以包含多達 2147483647 字節(jié). |
Pointer | 32 位或 64 位內(nèi)存地址指針. 取決于使用的 AutoIt 版本. |
AutoIt 的某些函數(shù)(例如 BitAND)只能使用 32 位數(shù)字,并自動轉(zhuǎn)換 - 在有需要時,這些函數(shù)都會備有聲明文件.
provider with jb51.net (unicode) |