3-7變量和表達(dá)式(未全,待補(bǔ)充)

變量的類型
: AutoHotkey 中沒有明確的變量類型. 然而, 只包含數(shù)字 (可以含有小數(shù)點) 的變量進(jìn)行數(shù)學(xué)運(yùn)算或比較時, 會被自動轉(zhuǎn)換為數(shù)值. (為了提高性能, 在內(nèi)部會對數(shù)字進(jìn)行緩存以避免與字符串之間的轉(zhuǎn)換.)
變量的作用域和聲明
: 除了函數(shù)中的 局部變量
, 其他所有變量都是全局的; 即可以在腳本的任意位置讀取或修改它們的內(nèi)容. 除了在函數(shù)頁面
注明的情況,變量都是不需要聲明的;使用它們的時候它們就產(chǎn)生了(每個變量初始為空).
變量的名稱
: 變量名不區(qū)分大小寫 (例如,CurrentDate
等同于currentdate
). 變量名可以含有多達(dá) 253 個字符, 并且可以由字母, 數(shù)字以及后面的標(biāo)點組成: # _ @ $
考慮到命名的慣例, 通常在命名變量時最好僅使用字母, 數(shù)字和下劃線 (例如:CursorPosition
,Total_Items
和entry_is_valid
). 這樣的風(fēng)格可以讓熟悉其他計算機(jī)語言的人更容易理解您的腳本. 而且, 如果您在 AutoHotkey 和其他語言中使用相同的風(fēng)格, 您會發(fā)現(xiàn)能更容易重新讀懂自己的腳本.
盡管變量名可以完全由數(shù)字組成, 但通常這樣的名稱僅用于 傳入的命令行參數(shù)
. 這樣數(shù)值名稱的變量不能用在 表達(dá)式
中, 因為它們會被看成是數(shù)字而不是變量.
因為單詞AND
,OR
和NOT
作為表達(dá)式的 運(yùn)算符
使用, 所以通常不應(yīng)該把它們用作變量名稱. 在表達(dá)式中使用這樣的名稱會無法正確計算.
給變量賦值
: 要把字符串或數(shù)字保存到變量中, 有兩種方法: 傳統(tǒng)方法和表達(dá)式方法. 傳統(tǒng)方法使用 等號運(yùn)算符 (=)
來指定沒有加引號的
原義字符串或包圍在百分號中的變量.
例如:

MyNumber = 123
MyString = This is a literal string.
CopyOfVar = %Var%  ; 和 = 運(yùn)算符一起使用時, 需要使用百分號來獲取變量的內(nèi)容.

變量和表達(dá)式

與之相比, 表達(dá)式方法使用 冒號等號運(yùn)算符 (:=)
來保存數(shù)字,加引號的
字符串和其他類型的 表達(dá)式
. 下面的例子在功能上與前面的例子相同:

MyNumber := 123MyString := "This is a literal string."CopyOfVar := Var; 和前面段落中與其作用相同的語句不同, 百分號不和 := 運(yùn)算符一起使用.

讓變量為空:

MyVar =
MyVar := ""

獲取變量的內(nèi)容
: 如同賦值有兩種方法, 獲取變量的內(nèi)容也有兩種方法: 傳統(tǒng)方法和表達(dá)式方法. 傳統(tǒng)方法需要將變量名包圍在百分號中來獲取變量的內(nèi)容. 例如:

MsgBox
The value in the variable named Var is %Var%.CopyOfVar = %Var%

與之相比, 表達(dá)式方法省去了變量名兩邊的百分號, 但原義的字符串必須包圍在雙引號中. 所以, 下面的表達(dá)式作用等同于上面的例子:

MsgBox%
"The value in the variable named Var is " . Var . "."; 使用句點連接 (join 拼接) 兩個字符串.
CopyOfVar := Var

在上面的 MsgBox 這行, 通過使用百分號和空格把參數(shù)從傳統(tǒng)模式改變?yōu)楸磉_(dá)式模式. 因為所有的命令默認(rèn)情況下使用傳統(tǒng)模式 (除了另外注明的那些), 所以這是必須的. 不過, 某些命令的特定參數(shù)已注明接受表達(dá)式, 此時前導(dǎo)的百分號可以省略. 例如, 下面的所有語句都是等效的, 因為 Sleep
的首個參數(shù)可以是表達(dá)式:

Sleep MillisecondsToWaitSleep %MillisecondsToWait%Sleep % MillisecondsToWait

變量的比較
: 請閱讀下面表達(dá)式部分中關(guān)于不同類型變量比較的重要提示, 尤其是關(guān)于何時使用小括號的內(nèi)容

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • Spring Cloud為開發(fā)人員提供了快速構(gòu)建分布式系統(tǒng)中一些常見模式的工具(例如配置管理,服務(wù)發(fā)現(xiàn),斷路器,智...
    卡卡羅2017閱讀 136,569評論 19 139
  • 1. Java基礎(chǔ)部分 基礎(chǔ)部分的順序:基本語法,類相關(guān)的語法,內(nèi)部類的語法,繼承相關(guān)的語法,異常的語法,線程的語...
    子非魚_t_閱讀 34,728評論 18 399
  • 血糖的來源 主要有三條,分別是: ①食物中的碳水化合物通過消化分解變成葡萄糖,被吸收進(jìn)入血液循環(huán),成為血糖(尤其是...
    曉蔚_b038閱讀 240評論 1 1
  • 還記得那天 車窗邊上你的側(cè)臉 陽光灑在你的額前 我想說的 從未改變 旅途的單程 有你在身邊便無殘念 還記得那天 我...
    彼岸梵花閱讀 172評論 0 0

友情鏈接更多精彩內(nèi)容