Von der Bibliothek zur Sprachgenerierung eingefügte Funktionen
GILT FÜR: SDK v4
Im folgenden Artikel wird ausführlich beschrieben, wie Sie Funktionen aus der Bibliothek zur Sprachgenerierung (Language Generation, LG) einfügen.
ActivityAttachment
Gibt ein activityAttachment
zurück, das aus einem Objekt und einem Typ erstellt wurde.
ActivityAttachment(<collection-of-objects>)
Parameter | Erforderlich | Type | Beschreibung |
---|---|---|---|
<content> | Ja | Objekt | Objekt, das die Informationen der Anlage enthält |
<type> | Ja | string | Eine Zeichenfolge, die den Typ der Anlage darstellt |
Rückgabewert | type | Beschreibung |
---|---|---|
<activityAttachment> | Objekt | Ein activityAttachment , das aus den Eingaben gebildet wurde |
Beispiel:
In diesem Beispiel wird eine Sammlung von Objekten in ein activityAttachment
konvertiert.
Angenommen, Sie verwenden die folgende Vorlage:
# externalHeroCardActivity(type, title, value)
[Activity
attachments = ${ActivityAttachment(json(fromFile('.\\herocard.json')), 'herocard')}
]
und die folgende Datei herocard.json
:
{
"title": "titleContent",
"text": "textContent",
"Buttons": [
{
"type": "imBack",
"Title": "titleContent",
"Value": "textContent",
"Text": "textContent"
}
],
"tap": {
"type": "${type}",
"title": "${title}",
"text": "${title}",
"value": "${value}"
}
}
Durch Aufrufen von externalHeroCardActivity()
als Funktion:
externalHeroCardActivity('signin', 'Signin Button', 'http://login.microsoft.com')
Eine herocard
wird zurückgegeben:
{
"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
Wertet den Nur-Text in einem Objekt aus und gibt die erweiterten Textdaten zurück.
expandText(<object>)
Parameter | Erforderlich | Type | Beschreibung |
---|---|---|---|
<object> | Ja | Objekt | Das Objekt mit Text, der erweitert werden soll. |
Rückgabewert | type | Beschreibung |
---|---|---|
<evaluated-result> | Objekt | Die erweiterten Textdaten. |
Beispiel
In diesem Beispiel wird der Nur-Text in einem JSON-Objekt ausgewertet und das erweiterte Textergebnis zurückgegeben.
Angenommen, Sie verfügen über folgendes Objekt:
{
"@answer": "hello ${user.name}",
"user": {
"name": "vivian"
}
}
expandText(@answer)
aufzurufen führt zu dem Objekt hello vivian.
Vorlage
Gibt das ausgewertete Ergebnis des angegebenen Vorlagennamens und des Bereichs zurück.
template(<templateName>, '<param1>', '<param2>', ...)
Parameter | Erforderlich | Type | Beschreibung |
---|---|---|---|
<templateName> | Ja | string | Eine Zeichenfolge, die den Vorlagennamen darstellt |
<param1>>,<<param2>>, ... | Ja | Object | Die an die Vorlage übergebenen Parameter |
Rückgabewert | type | Beschreibung |
---|---|---|
<evaluated-result> | Objekt | Das Ergebnis, das aus der Vorlage ausgewertet wurde, als Funktion |
Beispiel
In diesem Beispiel wird das Ergebnis des Aufrufs der Vorlage als Funktion ausgewertet.
Angenommen, Sie verwenden die folgende Vorlage:
# welcome(userName)
- Hi ${userName}
- Hello ${userName}
- Hey ${userName}
Ein Aufruf von template("welcome", "DL")
hat eines der folgenden Ergebnisse:
- Hi DL
- Hello DL
- Hey DL
fromFile
Gibt das ausgewertete Ergebnis des Ausdrucks in der angegebenen Datei zurück.
fromFile(<filePath>)
Parameter | Erforderlich | Type | BESCHREIBUNG |
---|---|---|---|
<filePath> | Ja | string | Der relative oder absolute Pfad einer Datei mit Ausdrücken |
Rückgabewert | type | Beschreibung des Dataflows |
---|---|---|
<result> | string | Die Zeichenfolgendarstellung des ausgewerteten Ergebnisses |
Beispiel
In diesem Beispiel wird das Ergebnis aus der angegebenen Datei ausgewertet.
Angenommen, Sie verfügen über die Datei /home/user/test.txt
. In der Datei ist Folgendes enthalten:
`you have ${add(1,2)} alarms`
fromFile('/home/user/test.txt')
Die fromFile()
-Funktion wertet den Ausdruck aus, und das Ergebnis ersetzt den ursprünglichen Ausdruck.
Der Aufruf von fromFile('/home/user/test.txt')
führt zu der Zeichenfolge you have 3 alarms.
isTemplate
Gibt zurück, ob ein angegebener Vorlagenname in der Auswertung enthalten ist.
isTemplate(<templateName>)
Parameter | Erforderlich | Type | Beschreibung |
---|---|---|---|
<templateName> | Ja | String | Ein zu überprüfender Vorlagenname |
Rückgabewert | type | Beschreibung des Dataflows |
---|---|---|
<result> | Boolean | Gibt an, ob ein angegebener Vorlagenname in der Auswertung enthalten ist |
Beispiel
In diesem Beispiel wird mithilfe der isTemplate()
-Funktion überprüft, ob ein angegebener Vorlagenname in der Auswertung enthalten ist. Im Folgenden finden Sie beispielsweise drei Vorlagen:
# welcome
- hi
# show-alarms
- 7:am and 8:pm
# add-to-do
- you add a task at 7:pm
Der Aufruf von isTemplate("welcome")
wird zu true
ausgewertet. Der Aufruf von isTemplate("delete-to-do")
wird zu false
ausgewertet.