Dela via


Funktioner som matas in från språkgenereringsbiblioteket

GÄLLER FÖR: SDK v4

I följande artikel beskrivs hur du matar in funktioner från biblioteket Språkgenerering (LG).

Aktivitetsbilaga

Returnera en activityAttachment konstruktion från ett objekt och en typ.

ActivityAttachment(<collection-of-objects>)
Parameter Obligatoriskt Type Beskrivning
<Innehåll> Ja objekt Objekt som innehåller information om den bifogade filen
<typ> Ja sträng En sträng som representerar typen av bifogad fil
Returvärde Typ Description
<activityAttachment> objekt En activityAttachment som bildas från indata

Exempel:

I det här exemplet konverteras en samling objekt till en activityAttachment.

Anta att du har följande mall:

# externalHeroCardActivity(type, title, value)
[Activity
    attachments = ${ActivityAttachment(json(fromFile('.\\herocard.json')), 'herocard')}
]

och följande herocard.json:

{
  "title": "titleContent",
  "text": "textContent",
  "Buttons": [
    {
      "type": "imBack",
      "Title": "titleContent",
      "Value": "textContent",
      "Text": "textContent"
    }
  ],
  "tap": {
    "type": "${type}",
    "title": "${title}",
    "text": "${title}",
    "value": "${value}"
  }
}

Genom att anropa externalHeroCardActivity() som en funktion:

externalHeroCardActivity('signin', 'Signin Button', 'http://login.microsoft.com')

Den returnerar en 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

Utvärdera oformaterad text i ett objekt och returnera expanderade textdata.

expandText(<object>)
Parameter Obligatoriskt Type Description
<Objekt> Ja objekt Objektet med text som ska expanderas.
Returvärde Typ Description
<evaluated-result> objekt De expanderade textdata.

Exempel

Det här exemplet utvärderar oformaterad text i ett JSON-objekt och returnerar det expanderade textresultatet.

Anta att du har följande objekt:

{
  "@answer": "hello ${user.name}",
  "user": {
    "name": "vivian"
  }
}

Anrop expandText(@answer) resulterar i objektet hello vivian.

mall

Returnera det utvärderade resultatet av det angivna mallnamnet och omfånget.

template(<templateName>, '<param1>', '<param2>', ...)
Parameter Obligatoriskt Type Description
<templateName> Ja sträng En sträng som representerar mallnamnet
<param1,param2><>, ... Ja Objekt Parametrarna som skickas till mallen
Returvärde Typ Description
<evaluated-result> objekt Resultatet utvärderas från mallen som en funktion

Exempel

I det här exemplet utvärderas resultatet av att anropa mallen som en funktion.

Anta att du har följande mall:

# welcome(userName)
- Hi ${userName}
- Hello ${userName}
- Hey ${userName}

Anrop template("welcome", "DL") resulterar i något av följande:

  • Hej DL
  • Hej DL
  • Hej DL

fromFile

Returnera det utvärderade resultatet av uttrycket i den angivna filen.

fromFile(<filePath>)
Parameter Obligatoriskt Type Description
<Filepath> Ja sträng relativ eller absolut sökväg för en fil innehåller uttryck
Returvärde Typ Description
<Resultatet> sträng Strängrepresentationen av det utvärderade resultatet

Exempel

Det här exemplet utvärderar resultatet från den angivna filen.

Anta att du har en fil med namnet /home/user/test.txt. I filen finns följande:

`you have ${add(1,2)} alarms`

fromFile('/home/user/test.txt')

Funktionen fromFile() utvärderar uttrycket och resultatet ersätter det ursprungliga uttrycket.

Att anropa fromFile('/home/user/test.txt') resulterar i strängen du har 3 larm.

isTemplate

Returnera om ett angivet mallnamn ingår i utvärderaren.

isTemplate(<templateName>)
Parameter Obligatoriskt Type Description
<templateName> Ja String Ett mallnamn att kontrollera
Returvärde Typ Description
<Resultatet> Booleskt Om det angivna mallnamnet ingår i utvärderaren

Exempel

I det isTemplate() här exemplet används funktionen för att kontrollera om ett angivet mallnamn finns i utvärderaren. Här är till exempel tre mallar:

# welcome
- hi

# show-alarms
- 7:am and 8:pm

# add-to-do
- you add a task at 7:pm

Anropet isTemplate("welcome") utvärderas till true. Anropet isTemplate("delete-to-do") utvärderas till false.

Ytterligare Information