從語言產生程式庫插入的函式
適用于: SDK v4
下列文章詳細說明如何從 語言產生 (LG) 程式庫插入函式。
ActivityAttachment
activityAttachment
傳回從 物件和型別建構的 。
ActivityAttachment(<collection-of-objects>)
參數 | 必要 | 類型 | 描述 |
---|---|---|---|
<內容> | Yes | object | 包含附件資訊的物件 |
<type> | Yes | string | 字串,表示附件的類型 |
傳回值 | 類型 | 描述 |
---|---|---|
<activityAttachment> | object | activityAttachment 從輸入形成的 |
範例:
這個範例會將 物件的集合轉換成 activityAttachment
。
假設您有下列範本:
# externalHeroCardActivity(type, title, value)
[Activity
attachments = ${ActivityAttachment(json(fromFile('.\\herocard.json')), 'herocard')}
]
和下列 : herocard.json
{
"title": "titleContent",
"text": "textContent",
"Buttons": [
{
"type": "imBack",
"Title": "titleContent",
"Value": "textContent",
"Text": "textContent"
}
],
"tap": {
"type": "${type}",
"title": "${title}",
"text": "${title}",
"value": "${value}"
}
}
藉由呼叫 externalHeroCardActivity()
做為函式:
externalHeroCardActivity('signin', 'Signin Button', 'http://login.microsoft.com')
它會傳 herocard
回 :
{
"lgType" = "attachment",
"contenttype" = "herocard",
"content" = {
"title": "titleContent",
"text": "textContent",
"Buttons": [
{
"type": "imBack",
"Title": "titleContent",
"Value": "textContent",
"Text": "textContent"
}
],
"tap": {
"type": "signin",
"title": "Signin Button",
"text": "Signin Button",
"value": "http://login.microsoft.com"
}
}
}
expandText
評估 物件中的純文字,並傳回展開的文字資料。
expandText(<object>)
參數 | 必要 | 類型 | 描述 |
---|---|---|---|
<object> | Yes | object | 要展開之文字的物件。 |
傳回值 | 類型 | 描述 |
---|---|---|
<evaluated-result> | object | 展開的文字資料。 |
範例
此範例會評估 JSON 物件中的純文字,並傳回展開的文字結果。
假設您有下列物件:
{
"@answer": "hello ${user.name}",
"user": {
"name": "vivian"
}
}
呼叫 expandText(@answer)
會導致物件 hello vivian 。
template
傳回指定範本名稱和範圍的評估結果。
template(<templateName>, '<param1>', '<param2>', ...)
參數 | 必要 | 類型 | 描述 |
---|---|---|---|
<templateName> | Yes | string | 表示範本名稱的字串 |
<param1,param2 > < > , ... | Yes | Object | 傳遞至範本的參數 |
傳回值 | 類型 | 描述 |
---|---|---|
<evaluated-result> | object | 從範本評估為函式的結果 |
範例
此範例會將呼叫範本的結果評估為函式。
假設您有下列範本:
# welcome(userName)
- Hi ${userName}
- Hello ${userName}
- Hey ${userName}
呼叫 template("welcome", "DL")
會導致下列其中一項:
- Hi DL
- Hello DL
- Hey DL
fromFile
傳回指定檔案中運算式的評估結果。
fromFile(<filePath>)
參數 | 必要 | 類型 | 描述 |
---|---|---|---|
<filePath> | Yes | string | 檔案的相對或絕對路徑包含運算式 |
傳回值 | 類型 | 描述 |
---|---|---|
<result> | string | 評估結果的字串表示 |
範例
此範例會評估指定檔案的結果。
假設您有名為 /home/user/test.txt
的檔案。 檔案內有下列專案:
`you have ${add(1,2)} alarms`
fromFile('/home/user/test.txt')
函 fromFile()
式會評估運算式,結果將會取代原始運算式。
呼叫 fromFile('/home/user/test.txt')
會產生您有 3 個警示的 字串 。
isTemplate
傳回評估工具中是否包含指定的範本名稱。
isTemplate(<templateName>)
參數 | 必要 | 類型 | 描述 |
---|---|---|---|
<templateName> | Yes | String | 要檢查的範本名稱 |
傳回值 | 類型 | 描述 |
---|---|---|
<result> | 布林值 | 評估工具中是否包含指定的範本名稱 |
範例
這個範例會使用 函 isTemplate()
式來檢查指定的範本名稱是否在評估工具中。 例如,以下是三個範本:
# welcome
- hi
# show-alarms
- 7:am and 8:pm
# add-to-do
- you add a task at 7:pm
呼叫 isTemplate("welcome")
會評估為 true
。 呼叫 isTemplate("delete-to-do")
會評估為 false
。