Freigeben über


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.

Zusätzliche Informationen