表示式和轉換
Blitz 支援以下運算子,其順序為優先順序從高到低:
New
, First
, Last
自定型別運算子
一元運算子
Before
, After
物件運算子
一元運算子
Int
, Float
, Str
型別轉換運算子
一元運算子
+
, -
, ~
按位運算子
一元運算子
^
冪運算子
二元運算子
*
, /
, Mod
算術乘、除、模
二元運算子
Shl
, Shr
, Sar
二進位制位移運算子
二元運算子
+
, -
算術加、減
二元運算子
<
, >
, <=
, >=
, =
, <>
比較運算子
二元運算子
And
, Or
, Xor
並且、或者、異或
二元運算子
Not
邏輯否
一元運算子
一元運算子需要一個運算元,而二元運算子需要兩個運算元。
算術運算子產生與運算元資料型別相同的資料。例如,兩個整數值相加將產生一個整數值結果。
如果二元運算子或比較運算子的兩個運算元不同,則使用以下轉換規則進行轉換:
如果其中一個運算元是自定型別物件,則另一個必須是相同型別的物件,否則返回
Null
。如果其中一個運算元是字串,則另一個將轉為字串。
如果其中一個運算元是浮點值,則另一個將轉為浮點值。
否則,兩個運算元必須為整數值。
當浮點值轉換到整數值時,該值將舍入為最接近的整數值。當整數值和浮點值轉換為字串時,將轉換為數字的字串表達形式。
當字串轉換為整數值或浮點值時,字串將在第一個非數字字元或結尾處停止轉換。
字串唯一可以使用的運算子是 +
,它被用於連線兩個字串。
Int
、Float
和 Str
可以用於轉換值。它們的後面可以跟隨適當的型別標籤,例如:Int%
、Str$
和 Float#
。
比較運算子始終產生整數值結果:1
代表真,0
代表假。
如果其中一個運算元是自定型別物件,則另一個運算元必須是相同型別的物件,或者為 Null
,並且允許使用的唯二運算子是比較運算子 =
和 <>
。
按位運算子和邏輯運算子將始終將其運算元轉換為整數值,併產生整數值結果。
邏輯否運算子將在運算元非 0 時返回 0
,反之則為 1
。當表示式被用於條件執行程式碼中時(例如 If
語句),結果將被轉換為整數值,非 0 結果為真,0 則為假。
Last updated