👨💻模板語法
概述
本篇文章將介紹模板語法,透過使用變數和表達式,您可以輕鬆地構建所需的內容並進行置換。
而模板語法目前可套用於以下功能:
對話腳本中部分訊息操作。
Webhook 腳本中的參數 Params 與回呼 (Callback)。
變數命名規則
如同多數的程式語言,如 python、JavaScript ..等,交談變數必須遵從以下規則:
變數名稱必須以字母(a-z、A-Z)或下底線(_)開頭。
後續的字元可以是字母、數字(0-9)或下底線(_)。
變數的命名是區分大小寫的,大寫字母(A-Z)和小寫字母(a-z)被視為不同的字元。
以下是一些符合命名規則的變數名稱的範例:
myVariable
count
first_name
age123
符號與運算子
分隔符
模板語法採用 {{ ... }}
與 {% ... %}
兩種符號表達,前者分隔符號將替換為實際字串輸出於內容中,如下面語法顯示,將實際輸出為「王小明,您好!」。
而也可以透過一個點.(dot)符號來顯示變數更深層的內容,例如
而後者 {% ... %}
分隔符號,則用於執行邏輯操作,如 for、if ...等。
算術運算子
模板提供簡易的運算符號,其他包括以下
+
:加法。{{ 1 + 1 }}
顯示為2
。-
:減法。{{ 3 - 2 }}
顯示為1
。/
:除法。{{ 3 / 2 }}
顯示為1.5
。*
:乘法。{{ 3 * 2 }}
顯示為6
。%
:取餘數。{{ 11 % 7 }}
顯示為4
。//
:取整數。{{ 20 // 7 }}
顯示為2
。
比較運算子
能直接透過 ==
、!=
、 <
、 >
、 >=
和 <=
,並基於比較的結果回傳邏輯值。
==
:等於。-!
:不等於。<
:小於。>
:大於。>=
:大於或等於。<=
:小於或等於。
針對更為複雜的比較,則可使用 matches
匹配操作符透過正則表達式比較。
條件(三元)運算子
這個運算子能接受兩個運算元作為值並且一個運算元作為條件判斷。而 語法是:條件 ? 數值1 : 數值2
,下方為一些簡單範例。
邏輯運算子
能透過 ?? 判斷 OR 邏輯,假如 運算式1
可以為是的話,回傳 運算式1
; 否則,反之回傳 運算式2
。
流程控制
流程控制是指控製流程的條件語句,如if
、elseif
、else
、for
等。控制語法應放置在 {% ... %}
分隔符內容中。
if...else
當條件成立的時候會執行 if 陳述式裡的語法,而不成立時則執行另外一個陳述式。
for
不斷重複直到一個指定的條件式判斷為 false,直到條件不符合才停止執行,其中 for 的區塊內,你能使用內建的特殊變數。 特殊變數如下:
變數名 | 描述 |
loop.index | 顯示當前 index(索引),由 1 開始 |
loop.index0 | 顯示當前 index(索引),由 0 開始 |
loop.length | 陣列的長度 |
loop.first | 返回 true,若為陣列最初項目 |
loop.last | 返回 true,若為陣列最後項目 |
日期
日期語法可接受字串、DateTime 物件。例如,要顯示當前日期,請將單字 “now” 作為語法的參數。
顯示當前時間
指定時區
預設情況下,日期會套用 FIRST LINE 伺服器的時區顯示,但您可以透過明確指定時區來覆寫它:
如果日期已經是 DateTime 物件,且您想要保持其當前時區,請將時區值傳遞為 false。
Last updated