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> | Sì | oggetto | Oggetto contenente le informazioni dell'allegato |
<type> | Sì | 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> | Sì | 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> | Sì | stringa | Stringa che rappresenta il nome del modello |
<param1,param2><>, ... | Sì | 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> | Sì | 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> | Sì | 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
.