Condividi tramite


Funzioni inserite dalla libreria di generazione del linguaggio

SI APPLICA A: SDK v4

L'articolo seguente illustra come inserire funzioni dalla libreria di generazione del linguaggio.

ActivityAttachment

Restituisce un elemento activityAttachment costruito da un oggetto e un tipo.

ActivityAttachment(<collection-of-objects>)
Parametro Richiesto Digita Descrizione
<content> oggetto Oggetto contenente le informazioni dell'allegato
<type> stringa Stringa che rappresenta il tipo di allegato
Valore restituito Type Descrizione
<activityAttachment> oggetto Elemento activityAttachment formato dagli input

Esempio

Questo esempio converte una raccolta di oggetti in un elemento activityAttachment.

Si supponga di avere il modello seguente:

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

e il file herocard.json seguente:

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

Chiamando externalHeroCardActivity() come funzione:

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

Viene restituito un elemento 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

Valutare il testo normale in un oggetto e restituire i dati di testo espansi.

expandText(<object>)
Parametro Richiesto Digita Descrizione
<object> oggetto Oggetto con testo da espandere.
Valore restituito Type Descrizione
<evaluated-result> oggetto Dati di testo espansi.

Esempio

Questo esempio valuta il testo normale in un oggetto JSON e restituisce il risultato del testo espanso.

Si supponga di avere l'oggetto seguente:

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

La chiamata expandText(@answer) genererà l'oggetto hello vivian.

annidato

Restituisce il risultato valutato del nome e dell'ambito del modello specificati.

template(<templateName>, '<param1>', '<param2>', ...)
Parametro Richiesto Digita Descrizione
<templateName> stringa Stringa che rappresenta il nome del modello
<param1,param2><>, ... Oggetto Parametri passati al modello
Valore restituito Type Descrizione
<evaluated-result> oggetto Risultato valutato dal modello come funzione

Esempio

In questo esempio viene valutato il risultato della chiamata del modello come funzione.

Si supponga di avere il modello seguente:

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

Chiamando template("welcome", "DL"), si otterrà uno dei risultati seguenti:

  • Hi DL
  • Hello DL
  • Hey DL

fromFile

Restituisce il risultato valutato dell'espressione nel file specificato.

fromFile(<filePath>)
Parametro Richiesto Digita Descrizione
<filePath> stringa Percorso relativo o assoluto di un file contenente contiene espressioni
Valore restituito Type Description
<result> stringa Rappresentazione del risultato valutato in formato stringa

Esempio

In questo esempio viene valutato il risultato dal file specificato.

Si supponga di avere un file denominato /home/user/test.txt. All'interno del file sono presenti gli elementi seguenti:

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

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

La funzione fromFile() valuterà l'espressione e il risultato sostituirà l'espressione originale.

Chiamando fromFile('/home/user/test.txt'), verrà restituita la stringa you have 3 alarms.

isTemplate

Restituisce un valore che indica se un nome di modello specificato è incluso nell'analizzatore.

isTemplate(<templateName>)
Parametro Richiesto Digita Descrizione
<templateName> Stringa Nome di modello da controllare
Valore restituito Type Description
<result> Boolean Indica se il nome di modello specificato è incluso nell'analizzatore

Esempio

In questo esempio si usa la funzione isTemplate() per controllare se un nome di modello specificato è presente nell'analizzatore. Ecco, ad esempio, tre modelli:

# welcome
- hi

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

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

La chiamata isTemplate("welcome") restituisce true. La chiamata isTemplate("delete-to-do") restituisce false.

Informazioni aggiuntive