PML 2 外掛開發指南

外掛系統運算子說明

本文件介紹 PML 2 外掛系統的運算子。

PML 2 外掛支援值比較運算子與邏輯運算子, 部分運算子有兩種形式。

1. 值比較運算子

PML 2 目前支援下列值比較運算子:

運算子另寫說明範例
-eq==判斷運算子左右兩邊的值是否相等。使用 object.Equals 進行比較。{{ctx.data.version}} == "26.2.0"
{{ctx.data.version}} -eq "26.2.0"
-ne!=判斷運算子左右兩邊的值是否不相等。使用 object.Equals 的否定結果。{{ctx.data.version}} != "26.2.0"
{{ctx.data.version}} -ne "26.2.0"
-gt>判斷運算子左邊的值是否大於右邊的值。{{ctx.variables.count}} > 5
{{ctx.variables.count}} -gt 5
-lt<判斷運算子左邊的值是否小於右邊的值。{{ctx.variables.count}} < 5
{{ctx.variables.count}} -lt 5
-ge>=判斷運算子左邊的值是否大於等於右邊的值。{{ctx.variables.count}} >= 5
{{ctx.variables.count}} -ge 5
-le<=判斷運算子左邊的值是否小於等於右邊的值。{{ctx.variables.count}} <= 5
{{ctx.variables.count}} -le 5
-like無判斷運算子左邊的值是否符合運算子右邊的萬用字元運算式。* 符合任意長度的字元序列 (包含空序列) ,? 符合單一字元,其餘字元依字面量處理;整串比對,大小寫不敏感。{{ctx.data.os}} -like "Windows *"
-notlike無判斷運算子左邊的值是否不符合運算子右邊的萬用字元運算式,即 -like 的取反。{{ctx.data.os}} -notlike "Windows *"
-match無判斷運算子左邊的值是否符合運算子右邊的規則表達式 (.NET 語法) 。為子字串比對,無需在首尾書寫 ^ / $;大小寫不敏感。規則表達式不合法時傳回 false。{{ctx.data.os}} -match "Windows \d+"
-notmatch無判斷運算子左邊的值是否不符合運算子右邊的規則表達式,即 -match 的取反。{{ctx.data.os}} -notmatch "Windows \d+"
-contains無若運算子左右兩邊皆為字串, 則判斷運算子左邊的值是否包含右邊的值; 若運算子左邊為集合, 則判斷運算子左邊的集合是否包含運算子右邊的值。(x ∋ y 或 x ⊇ y){{ctx.data.os}} -contains "Windows"
-notcontains無若運算子左右兩邊皆為字串, 則判斷運算子左邊的值是否不包含右邊的值; 若運算子左邊為集合, 則判斷運算子左邊的集合是否不包含運算子右邊的值。(x ∌ y 或 x ⊅ y){{ctx.data.os}} -notcontains "Windows"
-in無若運算子左右兩邊皆為字串, 則判斷運算子左邊的值是否包含於右邊的值; 若運算子右邊為集合, 則判斷運算子左邊的值是否包含於運算子右邊的集合。(x ∈ y 或 x ⊆ y)"Windows" -in {{ctx.data.os}}
-notin無若運算子左右兩邊皆為字串, 則判斷運算子左邊的值是否不包含於右邊的值; 若運算子右邊為集合, 則判斷運算子左邊的值是否不包含於運算子右邊的集合。(x ∉ y 或 x ⊄ y)"Windows" -notin {{ctx.data.os}}
-like / -notlike 使用萬用字元語意,-match / -notmatch 使用規則表達式語意,兩者不能混用。 例如要匹配「Windows 後跟若干數字」應寫作 {{ctx.data.os}} -match "Windows \d+"; 寫成 -like "Windows \d+" 時 \d 會被當作字面量字元。

若出現不支援的運算子, 該條件比較一律傳回 false。 部分運算子參考了 PowerShell 指令碼的語法, 您可以在此處查看 PowerShell 的運算子。

2. 邏輯運算子

PML 2 目前支援下列邏輯運算子:

運算子另寫說明範例
-and&&計算運算子左右兩邊表達式的邏輯 AND。若 x 與 y 的計算結果皆為 true, 則 x && y 的結果為 true; 否則結果為 false。若 x 的計算結果為 false, 則不會計算 y。{{ctx.data.version}} -eq "26.2.0" && {{ctx.data.os}} -contains "Windows"
-or||計算運算子左右兩邊表達式的邏輯 OR。若 x 或 y 其中一個計算結果為 true, 則 x || y 的結果為 true。否則結果為 false。若 x 的計算結果為 true, 則不會計算 y。{{ctx.data.version}} -eq "26.2.0" || {{ctx.data.os}} -notcontains "Windows"
-xor^| 或 ^計算運算子左右兩邊表達式的邏輯 XOR。若 x 與 y 的計算結果不同, 則 x ^| y 的結果為 true。否則結果為 false。{{ctx.data.version}} -eq "26.2.0" ^| {{ctx.data.os}} -contains "Windows"
前往 MSDN 以了解更多有關邏輯運算子的內容。

3. 算術運算子

PML 2 目前支援下列算術運算子:

運算子說明範例
+加法運算子, 用於計算運算子左右兩邊的值的和。{{ctx.variables.count}} + 5
-減法運算子, 用於計算運算子左右兩邊的值的差。{{ctx.variables.count}} - 5
*乘法運算子, 用於計算運算子左右兩邊的值的積。{{ctx.variables.count}} * 5
/除法運算子, 用於計算運算子左右兩邊的值的商。{{ctx.variables.count}} / 5
%取模運算子, 用於計算運算子左右兩邊的值的餘數。{{ctx.variables.count}} % 5
//整數除法運算子, 用於計算運算子左右兩邊的值的商的整數部分。{{ctx.variables.count}} // 5
** 或 ^冪運算子, 用於計算運算子左邊的值的右邊的値次方。{{ctx.variables.count}} ** 5
Copyright © RYCBStudio 2026, All Rights Reserved.