表示式和轉換

Blitz 支援以下運算子,其順序為優先順序從高到低:

關鍵字
型別
一元 / 二元

New, First, Last

自定型別運算子

一元運算子

Before, After

物件運算子

一元運算子

Int, Float, Str

型別轉換運算子

一元運算子

+, -, ~

按位運算子

一元運算子

^

冪運算子

二元運算子

*, /, Mod

算術乘、除、模

二元運算子

Shl, Shr, Sar

二進位制位移運算子

二元運算子

+, -

算術加、減

二元運算子

<, >, <=, >=, =, <>

比較運算子

二元運算子

And, Or, Xor

並且、或者、異或

二元運算子

Not

邏輯否

一元運算子

一元運算子需要一個運算元,而二元運算子需要兩個運算元。

算術運算子產生與運算元資料型別相同的資料。例如,兩個整數值相加將產生一個整數值結果。

如果二元運算子或比較運算子的兩個運算元不同,則使用以下轉換規則進行轉換:

  • 如果其中一個運算元是自定型別物件,則另一個必須是相同型別的物件,否則返回 Null

  • 如果其中一個運算元是字串,則另一個將轉為字串。

  • 如果其中一個運算元是浮點值,則另一個將轉為浮點值。

  • 否則,兩個運算元必須為整數值。

當浮點值轉換到整數值時,該值將舍入為最接近的整數值。當整數值和浮點值轉換為字串時,將轉換為數字的字串表達形式。

當字串轉換為整數值或浮點值時,字串將在第一個非數字字元或結尾處停止轉換。

字串唯一可以使用的運算子是 +,它被用於連線兩個字串。

IntFloatStr 可以用於轉換值。它們的後面可以跟隨適當的型別標籤,例如:Int%Str$Float#

比較運算子始終產生整數值結果:1 代表真,0 代表假。

如果其中一個運算元是自定型別物件,則另一個運算元必須是相同型別的物件,或者為 Null,並且允許使用的唯二運算子是比較運算子 =<>

按位運算子和邏輯運算子將始終將其運算元轉換為整數值,併產生整數值結果。

邏輯否運算子將在運算元非 0 時返回 0,反之則為 1。當表示式被用於條件執行程式碼中時(例如 If 語句),結果將被轉換為整數值,非 0 結果為真,0 則為假。

Last updated