Expressies

Een expressie is alles in uw script dat een waarde of resultaten in een waarde vergelijkt. bijvoorbeeld, X = 5, Y = dog en Z = "{var1}" kunnen allemaal expressies zijn als ze worden gebruikt op een manier die de waarden of resultaten in een waarde vergelijkt. X = 5 vergelijkt bijvoorbeeld de waarden van de variabele X met 5. Op dezelfde manier vergelijkt Z = "{var1}" de waarde van de variabele Z met de huidige waarde van de variabele var1.

Alle voorgaande voorbeelden kunnen ook toewijzingsverklaringen zijn. Een toewijzingsverklaring wijst de waarde rechts van het gelijkheidsteken toe aan de variabele aan de linkerzijde. Variabele toewijzingen zijn geen expressies.

Expressies kunnen worden gebruikt voor:

  • Het uitvoeren van mathematische of algebraïsche berekeningen.
  • Vergelijk twee waarden en onderneem een actie op basis van het resultaat van de vergelijking.
  • Maak logische beslissingen op basis van het feit of een expressie evalueert als true of false.

De waarden die worden vergeleken in een expressie, kunnen bestaan uit letters, cijfers of een combinatie van beide. Ze kunnen ook variabelen bevatten. In Studio zijn er drie types expressies, numeriek, string en Boolean.

Probeer het

Download het script Expressievoorbeelden en importeer deze in Studio. De voorbeelden van deze helppagina zijn beschikbaar in de Snippet-acties in het voorbeeldscript. U kunt het Snippet editor venster openen en de debugger uitvoeren voor hoe elk voorbeeld werkt.

Numerieke expressies

Numerieke expressies. Omvatten alleen cijfers en wiskundige of Boolean operators, zoals +, -, enz. Ze kunnen ook variabelenreferenties bevatten, als de variabelen numerieke waarden bevatten die worden gebruikt in de berekeningen.

Numeriek expressies worden gebruikt in snippets en voor het configureren van de eigenschappen van Studio-acties. In de actie IF kunt u bijvoorbeeld de eigenschap Expression configureren met een expressie die moet worden geëvalueerd als het besluitvormingsmechanisme van de actie. U kunt hetzelfde doen in een snippet met het IF-trefwoord.

Syntaxis numerieke expressie

Numerieke expressies kunnen niet tussen aanhalingstekens worden geplaatst. Dit omvat rekenkundige en BooleanGesloten Een gegevenstype dat twee mogelijke waarden heeft: Waar en Onwaar. expressies. Als u een numerieke expressie tussen aanhalingstekens plaatst, wordt deze als tekst behandeld. In het volgende voorbeeld levert c1 = 123 + 456 naar 579 maar c2 = "123 + 456" resulteert in 123 + 456.

Zet variabelen die worden gebruikt in numerieke expressies niet tussen accolades en dubbele aanhalingstekens. Dit resulteert in een fout in uw script.

Evaluatie van numerieke expressies

Als het script numerieke waarden kan evalueren als cijfers in een numerieke expressie, gebeurt dat ook. Dit houdt in dat:

  • Alles wat niet kan worden geëvalueerd als een numerieke waarde, zoals letters of een woord, wordt verondersteld een variabele referentie te zijn.
  • Als niet-numerieke tekens in de expressie een variabele zijn in het script met een stringwaarde, negeert het script de niet-numerieke tekens en evalueert dit het numerieke gedeelte van de originele expressie.
  • Als de niet-numerieke tekens in de expressie een variabele zijn met een numerieke waarde, omvat het script die waarde in de evaluatie van de expressie.
  • Als de niet-numerieke tekens in de expressie geen variabele zijn in het script, negeert het script deze tekens in de originele expressie.

In het volgende voorbeeld probeert het script nextNum te evalueren als een variabele omdat het niet kan worden geëvalueerd als een cijfer: c1 = 123 + 456 + nextNum. De volgende voorbeelden tonen het resultaat van drie scenario's, afhankelijk of nextNum een variabele is en wat de waarde ervan is.

Wanneer nextNum een variabele met een stringwaarde is, dan is het resultaat c1 = 579:

ASSIGN nextNum = "my string"
ASSIGN c2 = 123 + 456 + nextNum

Wanneer nextNum een variabele met een numerieke waarde is, dan is het resultaat c2 = 1368:

ASSIGN nextNum = 789
ASSIGN c3 = 123 + 456 + nextNum 

Wanneer nextNum geen variabele is, dan is het resultaat c3 = 579:

ASSIGN c3 = 123 + 456 + nextNum

Als u een expressie evalueert die twee variabelen bevat die allebei numerieke waarden bevatten die worden behandeld als stringwaarden, converteert het script de waarden naar nummers en evalueert ze overeenkomstig. Het resultaat van het volgende voorbeeld is c4 = 50:

ASSIGN nextNum = "20"
ASSIGN otherNum = "30"
ASSIGN c4 = nextNum + otherNum

U kunt hiervoor numerieke expressies opnemen in stringwaarden door de expressie tussen accolades te plaatsen. Bijvoorbeeld:

ASSIGN nextNum = 6
ASSIGN otherNum = 7
ASSIGN c5 = "There are {nextNum + otherNum} fish in the aquarium."

Nummers met voorloopnullen

Er is een verschil in de manier waarop Studio omgaat met nummers wanneer ze worden behandeld als strings vergeleken met wanneer ze worden behandeld als nummers. Wanneer nummers worden behandeld als een string, kunnen ze voorloopnullen hebben. Als u twee variabelen die numerieke stringwaarden bevatten, samenvoegt, worden de voorloopnullen verwijderd. Het resultaat van de volgende expressie is bijvoorbeeld c6=59:

ASSIGN nextNum = "00020"
ASSIGN otherNum = "000039"
ASSIGN c6 = nextNum+otherNum

Als u wilt dat de resulterende waarde voorloopnullen heeft, kunt u de format() functie en de 0-plaatshouder gebruiken om de nullen terug toe te voegen aan de waarde.

Stringexpressies

Stringexpressies omvatten alfanumerieke en speciale tekens, zoals # , @, enz. De syntaxis voor stringexpressies lijkt op de syntaxis voor het toewijzen van stringwaarden aan variabelen:

  • In snippets moeten stringwaarden voor expressies altijd tussen enkele of dubbele aanhalingstekens staan. Dit is dezelfde als voor stringwaarden
  • Om de variabele te vervangen in stringexpressies, zet u de naam van de variabele tussen accolades.
  • Sommige tekens, zoals dubbele aanhalingstekens, worden beschouwd als code. Om deze tekens op te nemen in stringwaarden, moet u escape-reeksen gebruiken.

Stringvergelijkingen

Strings kunnen worden geëvalueerd als waarden in Boolean expressies. U kunt bijvoorbeeld de volgende expressie gebruiken in een IF-verklaring:

klant = "Grendel Cainson"

Wanneer klant de exacte waarde Grendel Cainson bevat, is het resultaat true. Voor elke andere waarde, is het resultaat een false.

U kunt operators groter dan en kleiner dan gebruiken in stringvergelijkingen. In dit type vergelijking wordt aan elk letterteken een waarde toegewezen (A = 1 en Z = 26) Het script start door het eerste teken te vergelijken. Als ze verschillen, is deze die begint met een letter die verder staat in het alfabet, groter. In de vergelijking apple > banana is het resultaat bijvoorbeeld false. Dit is omdat banana groter is dan apple, omdat b later komt in het alfabet.

Als de eerste tekens dezelfde zijn, vergelijkt het script de tweede tekens. Als ze verschillen, stopt de vergelijking hier. Als de tweede tekens dezelfde zijn, blijft het script de tekens vergelijken tot een paar dat verschilt wordt bereikt. In de vergelijking van grapes > grapey, vergelijkt het script bijvoorbeeld elk teken tot het einde is bereikt. Het resultaat is false omdat grapey groter is dan grapes, omdat y later komt in het alfabet dan s.

In groter-dan-of-gelijk-aan of kleiner-dan-of-gelijk-aan vergelijkingen, zijn dezelfde regels van toepassing. Als de scripts vaststellen dat de tekenreekstring aan de linkerzijde van de operator dezelfde is als de string aan de rechterzijde, evalueert de expressie naar true.

Stringvergelijkingen zijn hoofdlettergevoelig.

Escape-reeksen in strings

Studio ondersteunt escapetekens binnen stringconstanten. Met escapetekens kunt u bepaalde speciale tekens in een string opnemen. Tekens zoals dubbele aanhalingstekens of een openingsaccolade worden herkend als code. Wanneer ze zijn opgenomen in een string, interpreteert de compiler ze met de niet-literale codebetekenis in plaats van hun literalwaarde. Met escapereeksen kunt u deze tekens in een string opnemen. Als u deze tekens opneemt in strings zonder escape-reeks, zal de uitvoer niet zijn wat u verwacht en er kan een fout resulteren.

U hoeft geen escape-reeksen toe te voegen aan strings die geconverteerde XML of JSON bevatten. Escape-reeksen worden automatisch toegevoegd voor tekens die ze vereisen.

Geef elke string waar u een escape-reeks gebruikt, een voorvoegsel met een dollarteken ($): $"...". Binnen de dubbele aanhalingstekens kunt u een van de volgorde escapetekens gebruiken:

Volgorde Details
\" Een dubbel aanhalingsteken invoegen.
\' Een enkel aanhalingsteken invoegen.
\t Een tab-teken invoegen (ASCII-code 9).
\r Een regelterugloop invoegen (ASCII-code 13).
\n Een regeleinde invoegen (ASCII-code 10).
\b Een backspace invoegen (ASCII-code 8).
\{ Een open-accolade invoegen. Je hoeft de escape-accolade alleen te ontlopen als er geen open escape-accolade in de tekst ervoor staat. Als u een afsluitende accolade wilt escapen, ziet dit er als volgt uit: \}
\0 Een null-waarde invoegen (0 is het cijfer nul).

Het volgende voorbeeld gebruikt de \n-escape-reeks om een regeleinde toe te voegen aan de string. Dit verplaatst de cursor omlaag naar de volgende regel zonder terug te keren naar het begin van de regel.

x = $"A phrase\nAnd a new line"

Wanneer de string wordt afgedrukt, zou de uitvoer er zo uit moeten zien:

A phrase

And a new line ]

In het voorgaande voorbeeld, stelt de afsluitende vierkante haak de cursor voor.

Het volgende voorbeeld gebruikt de \"-escape-reeks om dubbele aanhalingstekens toe te voegen aan de string:

y = $"Embedding \"double quotes\" in a string."

Wanneer de string wordt afgedrukt, ziet de uitvoer er als volgt uit: Embedding "double quotes" in a string. Zonder de escape-reeks zou het script de string alleen herkenning tot het dubbele aanhalingstekensymbool vóór het woord double.

Het volgende voorbeeld gebruikt de \{ -escape-reeks om literale accolades op te nemen in de string:

z = $"Using \{curly} braces."

Wanneer de string wordt afgedrukt, ziet deze er als volgt uit: Using {curly} braces. Zonder de escape-reeks, zou het script worden geïnterpreteerd {curly} als een variabele. Wanneer er geen waarde voor de variabele accolade wordt aangetroffen, zou het script dit vervangen door niets, zodat de waarde van de variabele Using braces. zou zijn.

Boolean expressies

Studio ondersteunt het gebruik van BooleanGesloten Een gegevenstype dat twee mogelijke waarden heeft: Waar en Onwaar. expressies. Ze kunnen worden gebruikt om een besluitvormingslogica in uw script aan te maken. Omdat Boolean expressies evalueren naar true of false, kunt u ze gebruiken om voorwaarden te maken waaraan moet worden voldaan en om te beslissen welk pad moet worden gevolgd. Als aan de voorwaarde is voldaan, neemt het script die vertakking. Als dat niet zo is, neemt het de andere vertakking.

Er zijn een aantal operators die u kunt gebruiken in Boolean-expressies. Hiermee kunt u een logische voorwaardeverklaring definiëren die voldoet aan de behoeften van uw script. U kunt bijvoorbeeld controleren of een waarde dezelfde is als een andere met het gelijkheidstreken (=) of u kunt controleren of een waarde groter is dan een andere met de groter dan-operator (>).

U kunt Boolean-expressies gebruiken met acties zoals If en Snippet (help-pagina's in CXone Studio: If en Snippet). Een aantal verklaringen die u kunt gebruiken in snippets, gebruiken Boolean expressies als het besluitvormingsmechanisme, met inbegrip van:

  • IF
  • IF ... ELSE
  • SELECT

Het volgende voorbeeld toont het gebruik van een Boolean-expressie met een IF...ELSE-verklaring in een snippet:

ASSIGN var1 = "Cat"
IF var1 = "Dog"
{
	ASSIGN dogWasFound = true
}
ELSE
{
	ASSIGN dogWasFound = false
}

Boolean expressies kunnen ook worden gebruikt in scripts met acties. De volgende afbeelding toont dezelfde IF...ELSE-verklaring met Studio-acties. U kunt dit voorbeeld testen in het voorbeeldscript Expressies.

Een scriptversie van het Boolean voorbeeld van deze sectie van de pagina.

Boolean waarden voor het inschakelen of uitschakelen van instellingen

Boolean waarden worden soms gebruikt in scripts om instellingen in of uit te schakelen in CXone. In deze gevallen, wijst u een Boolean waarde toe aan een variabele. Om een instelling in te schakelen, wijst u de waarde true of 1 toe. Om een instelling uit te schakelen, wijst u de waarde false of 0 toe.

Zowel de woorden als de nummers zijn geldige Boolean-waarden. Raadpleeg echter de online help over de Studio-actie die u gebruikt om te zien of er een voorkeurswaarde is voor de eigenschappen van de actie. In elk geval mag de waarde die u gebruikt niet tussen aanhalingstekens staan. Als u de waarde tussen aanhalingstekens plaatst, behandelt het script deze als een letterlijke string in plaats van een Boolean waarde.

Operators

Een operator is een symbool dat een wiskundige bewerking of een vergelijking voorstelt. Symbolen zoals +, - en = zijn operators. Boolean operators vergelijken twee expressies en resulteren in een true/false-antwoord. Snippet ondersteunt zowel wiskundige als Boolean operators.

Naast de gebruikelijke wiskundige operators voor vermenigvuldigen, delen, optellen en aftrekken, kunt u deze operators ook gebruiken.

  • Modulus operator (%)
  • Macht/exponent (^)
  • Geheel getal delen (\)
  • Exclusieve OR (~)

Normale wiskundige volgorde van bewerkingen zijn van toepassing op alle expressies. Alles tussen haakjes, wordt eerste geëvalueerd als een subeenheid. Exponenten/macht-operators worden als tweede geëvalueerd. Vermenigvuldigen en delen worden vervolgens geëvalueerd, daarna komt het optellen en aftrekken. Vergelijkingsoperators zijn de laatste om te evalueren, nadat alle wiskundige bewerkingen zijn voltooid.

Boolean-operators

U kunt de volgende Boolean-operators gebruiken in snippets. Al deze operators kunnen worden gebruikt met numerieke of stringnumerieke of string-vergelijkingen. Stringvergelijkingen gebruiken de alfabetische volgorde om te bepalen welke groter of kleiner is dan. In vergelijkingen, A = 1 en Z = 26. Stringvergelijkingen zijn hoofdlettergevoelig.

Operator SYMBOOL operatornaam Details
= Gelijk aan Als de twee zijden van de expressies equivalent zijn, resulteert de expressie in true (1), anders resulteert deze in false (0).
!= Niet gelijk aan Als de twee zijden van de expressies niet equivalent zijn, evalueert de expressie naar true (1), anders resulteert dit in 0 false (0).
> Groter dan

Als de rechterzijde van de expressie kleiner is dan de linkerzijde, resulteert de expressie in true (1), anders resulteert dit in false (0).

>= Groter dan of gelijk aan

Als de rechterzijde van de expressie kleiner is dan of gelijk is aan de linkerzijde, resulteert de expressie in true (1), anders resulteert deze in false (0).

< Kleiner dan

Als de linkerzijde van de expressie kleiner is dan de rechterzijde, resulteert de expressie in true (1), anders resulteert dit in false (0).

<= Kleiner dan of gelijk aan

Als de linkerzijde van de expressie kleiner is dan of gelijk is aan de rechterzijde, resulteert de expressie in true (1), anders resulteert deze in false (0).

& En Als alle subexpressies evalueren als true, resulteert de volledige expressie in true (1), anders resulteert dit in false (0).
| Of Als een van de subexpressies evalueert als true, resulteert de expressie in true (1), anders resulteert dit in false (0).

Gelijkheidstekens in expressies

De operator gelijkheidsteken ( = ) kan verschillende zaken betekenen, afhankelijk van het type expressie maar u mee werkt.

De expressies die worden gebruikt in toewijzingsverklaringen wijzen een expressie toe als de waarde van een variabele. Het gelijkheidsteken dat wordt gebruikt in deze verklaringen, staat voor de toewijzing van de waarde aan de rechterzijde van de expressie aan de variabele aan de linkerzijde.

In andere expressies geeft het gelijkheidsteken de evaluatie van gelijkheid aan. In de algebraïsche expressie x = 3 * (5 + 10) betekent het gelijkheidsteken bijvoorbeeld dat x de waarde voorstelt die resulteert uit de algebraïsche expressie 3 * (5 + 10). In dit geval, x = 45. U kunt deze algebraïsche expressie gebruiken in een toewijzingsverklaring die de waarde van een expressie toewijst aan een variabele X. Als dezelfde expressie echter werd gebruikt als een Boolean, zou dit worden geëvalueerd als true of false, afhankelijk van de waarde van x.

Boolean expressies worden algemeen gebruikt in Studio-scripts. Als u een gelijkheidsteken gebruikt als de operator in deze expressies, wordt de waarde aan de linkerzijde van het gelijkheidsteken vergeleken met de waarde aan de rechterzijde om de gelijkheid vast te stellen. Als u de waarde van een variabele die wordt gebruikt in een Boolean-uitdrukking moet wijzigen, gebruikt u een ASSIGN-actie of een ASSIGN-verklaring in een Snippet-actie.