新手教學丨UiBot的變量與常量、表達式運算符數組
今天咱們來說解下UiBot中的變量與常量,以及表達式運算符。函數
1、定義變量編碼
UiBot中的變量是動態類型的,無需再定義的時候聲明變量的類型,即變量的值和類型均可以在運行過程當中動態改變。這也符合通常腳本語言如Python、Lua、JavaScript的習慣。spa
定義變量名的方式是:blog
Dim 變量名索引
再定義變量名的同時ip
能夠給變量賦值一個初始值:字符串
Dim 變量名 = 值it
想要定義多個變量的話class
能夠這樣定義:
Dim 變量名=值, 變量名1
Dim 變量名=值, 變量名=值
同理
想要定義一個常量就能夠這樣定義:
Const 常量名=值, 常量名=值
變量名的定義基礎規範:
變量名能夠用英文字母、下劃線(_)
任意UTF-8編碼中包含的
除英語之外其餘語言的字符
(固然,也包括漢字)表示
除了第一個字符外
後面還可使用0-9的數字。
變量名不區分大小寫。
2、變量類型
UIBot中變量的類型分爲如下幾種:
整數型、浮點數型、布爾型
字符串型、函數型、複合型和空值型
整數型
整數型的值能夠以十進制或者十六進制的方式表示,其中十六進制需加前綴 &H 或 &h
範例:123, &HFA, &hFA
浮點數型
浮點數的值能夠用常規方式或者科學計數法方式表示。如0.01或者1E-2或者1e-2均表明同一個浮點數
範例:11.235, 2E3, 2e3
布爾型
布爾型的值僅有True或者False,二者皆不區分大小寫, True表示真, False表示假,布爾型變量中非真即假
字符串型
字符串型的值用一對單引號(’)或一對雙引號(」)所包圍
範例:"字符串", '字符串'
字符串轉義
在字符串中會用一些特殊符號來表示一些特定的含義:
\t 表明製表符,用 \n 表明換行,用 \’ 表明單引號,用 \」 表明雙引號,用 \\ 表明反斜槓自己
長字符串
能夠用先後各三個單引號來('’’)表示一個字符串,這種字符串被稱爲長字符串。在長字符串中,能夠直接寫回車符、單引號和雙引號,無需用\n,\’或者\」
範例:'''字符串第一行,
字符串第二行,
字符串第三行'''
函數型
函數型的值只能是已經定義好的函數
空值型
空值型的值老是Null,不區分大小寫
複合型的變量類型包含了
數組、字典兩種類型
兩種類型的定義和普通變量相似
數組類型的變量的表示
使用小寫方括號包圍起來,使用逗號來分隔每一個元素,和VBScript中的數組相似
範例:Dim 數組變量 = [值1, 值2, 值3, 值4,]
其中值能夠是任意類型,同一個數組中的不一樣值也能夠是不一樣類型,值甚至能夠是另一個數組,這樣就構成了通常意義上的多維數組
範例:Dim 數組變量 = [值1, 值2, [值11, 值22], 值4,]
字典類型的變量這樣表示
使用大括號來包圍起來,名字和其對應的值爲一對,用逗號分隔,和Lua中的Table數據類型類似
{ 名字1:值1, 名字2:值2, 名字3:值3 }
其中 名字 只能是字符串,值能夠是任意類型的表達式。這種初始化方法和JSON的表示形式一致
複合型變量的使用方式
不管是數組仍是字典,要引用其中的元素,均採用方括號做爲索引,若是要引用數組中的數組(即多維數組),或字典中的數組,能夠繼續在後面寫新的方括號
範例:Dim 變量名 = [486, 557, 256]
TracePrint 變量名[1]
變量名 = {"key1":486, "key2":557, "key3":256}
TracePrint 變量名["key1"]
變量名 = {"key1":486, "key2": [235, 668], "key3":256}
TracePrint 變量名["key2"][1]
在引用數組或字典中的元素時,數組的索引只能是整數類型,用0做爲起始索引;字典的索引只能是字符串類型。若是未能正確的使用,會在運行時報錯並觸發異常
3、表達式運算符
UiBot語言中的運算符及其含義以下:
【 + 】加法
【 - 】減法/求負
【 * 】乘法
【 / 】除法
【 Mod 】取模
【 ^ 】求冪
【 < 】大於
【 > 】小於
【 <= 】大於等於
【 >= 】小於等於
【 <> 】不等於
【 = 】等於
【 And 】邏輯與
【 Or 】邏輯或
【 Not 】邏輯非
【 & 】字符串鏈接
把變量、常量和值用運算符和圓括號 ( ) 鏈接到一塊兒,稱爲表達式,這和VBScript中的語法相似,經常使用於邏輯語句中的判斷
Dim 變量
If (變量 = 1) or (變量 = 5)
	TracePrint 變量
End If
須要注意的是,和VBScript中的運算符不一樣,UiBot中不直接支持位操做運算符,如按位與、按位或,等等。由於這種操做比較少見,若是必定須要,能夠用函數庫的方式提供。