共用方式為


從語言產生程式庫插入的函式

適用于: 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

其他資訊