Dela via


Lägga till aritmetiska och logiska operatorer i regler med Hjälp av Microsoft Rules Composer (förhandsversion)

Gäller för: Azure Logic Apps (Standard)

Viktigt!

Den här funktionen är i förhandsversion och omfattas av kompletterande användningsvillkor för Förhandsversioner av Microsoft Azure.

Den här guiden beskriver hur du lägger till aritmetiska och logiska operatorer i reglerna i regeluppsättningen med hjälp av Microsoft Rules Composer.

Förutsättningar

  • Ladda ned och installera Microsoft Rules Composer.

  • XML-filen som innehåller den regeluppsättning som du vill arbeta med.

Lägga till en aritmetikoperator i en regel

Du kan lägga till en aritmetikoperator i ett villkor eller en åtgärd i en regel. I följande tabell beskrivs tillgängliga aritmetiska operatorer:

Aritmetikoperator beskrivning
Lägg till Tilläggsoperatorn som lägger till arg1 till arg2.
Subtrahera Subtraktionsoperatorn som subtraherar arg1 från arg2.
Multiplicera Multiplikationsoperatorn som multiplicerar arg1 med arg2.
Dela Divisionsoperatorn som delar arg1 med arg2.
Rest Restoperatorn som utför arg1 modulo arg2.
  1. I Microsoft Rules Composer läser du in XML-filen som innehåller det regelarkiv som du vill arbeta med.

  2. I fönstret RuleSet Explorer letar du upp och väljer den regel som du vill använda.

  3. I fönstret Faktautforskaren väljer du fliken Vokabulärer .

  4. Under Vokabulärfunktioner>>version 1.0 drar du den aritmetiska operatorn som du vill använda till ett argument i ett villkor i villkorsredigeraren eller en åtgärd i åtgärdsredigeraren.

  5. I villkors- eller åtgärdsargumenten anger du värdena för vänster och höger operander.

    • Om operanderna har olika typer utför regelmotorn automatisk numerisk befordran där motorn konverterar den mindre operandtypen till den större operandtypen.

      Anta till exempel att du använder operatorn Lägg till på en operand som har int-typ och en operande som har lång typ. Innan motorn utför åtgärden Lägg till konverterar motorn int-typen till den långa typen.

    • Om motorn kan höja upp båda operanderna till en gemensam typ stöder motorn dubbel upphöjning.

      Anta till exempel att du använder operatorn Lägg till på en operand som har int-typ och en operand som har uint-typ . Innan motorn utför åtgärden Lägg till konverterar motorn båda operandtyperna till den långa typen.

Lägga till en logisk operator i en regel

Du kan lägga till en logisk operator i ett predikat i ett villkor. I följande tabell beskrivs tillgängliga logiska operatorer:

Logiska operatorer beskrivning
OCH Kombinera två eller flera predikat för att bilda ett logiskt AND-uttryck . Returnerar sant om båda predikaten utvärderas till true. Annars returneras false.
OR Kombinera två eller flera predikat för att bilda ett logiskt OR-uttryck . Returnerar sant om ett predikat utvärderas till sant. Annars returneras false.
INTE Negera ett logiskt uttryck eller predikat. Returnerar sant om predikatet utvärderas till false. Annars returneras false.
  1. I Microsoft Rules Composer läser du in XML-filen som innehåller det regelarkiv som du vill arbeta med.

  2. I fönstret RuleSet Explorer letar du upp och väljer den regel som du vill använda.

  3. I fönstret IF , som är villkorsredigeraren, väljer du något av följande kommandon på snabbmenyn Villkor :

    Logiska operatorer beskrivning
    Lägg till logisk AND Kombinera två eller flera predikat för att bilda ett logiskt AND-uttryck .
    Lägg till logisk OR Kombinera två eller flera predikat för att bilda ett logiskt OR-uttryck .
    Lägg till logisk NOT Negera ett logiskt uttryck eller predikat.
  4. Öppna operatorns snabbmeny i villkorsredigeraren och lägg till de predikat eller kapslade logiska operatorer som du vill använda.

    Om operanderna har olika typer konverterar regelmotorn typen för en operand så att den matchar typen för den andra operanden, eller konverterar typerna för båda operanderna till en gemensam typ innan uttrycket utvärderas.

Hantera nullvärden

I följande avsnitt beskrivs de förväntade beteendena för null-värden som är associerade med olika typer och innehåller alternativ för att kontrollera null eller förekomsten av ett visst fält eller en viss medlem.

.NET-klasser

  • För typer som härleds från objekttypen kan du ange deras fält till null.

  • Du kan skicka null som ett argument för parametrar som inte är värdetyper, men du kan få ett körningsfel baserat på medlemmens implementering.

  • Du kan inte använda null som jämförelse om returtypen inte är en objekttyp .

XML-element

  • Ett XML-dokument returnerar aldrig ett XML-värde som null. I stället är det här värdet antingen en tom sträng eller ett "finns inte"-fel. För en tom sträng kan ett fel inträffa vid konvertering av vissa typer, till exempel fält som anges som en heltalstyp när du skapar en regel.

  • Med Microsoft Rules Composer kan du inte ange ett fält till null eller ange en fälttyp till Objekt.

  • Via objektmodellen kan du ange typen till Objekt. I det här fallet har det returnerade värdet den typ som XPath utvärderar, till exempel Float, Boolean eller String, baserat på XPath-uttrycket.

Sök efter null eller existens

När du skriver regler vill du naturligtvis kontrollera att ett fält finns innan du jämför dess värde. Men om fältet är null eller inte finns orsakar en jämförelse av värdet ett fel.

Anta till exempel att du har följande regel:

IF Product/Quantity Exists AND Product/Quantity > 1

Om produkt/kvantitet inte finns utlöser regeln ett fel. Om du vill undvika det här problemet kan du skicka en överordnad nod till en hjälpmetod som returnerar värdet Produkt/Kvantitet om elementet finns eller returnerar något annat om elementet inte finns.

I följande exempel visas den uppdaterade och nya hjälpmetodregeln:

Regel 1

IF Exists(Product/Quantity) THEN Assert(CreateObject(typeof(Helper), Product/Quantity))

Regel 2

IF Helper.Value == X THEN...

Som en annan möjlig lösning kan du skapa en regel, till exempel följande exempel:

IF Product/Quantity Exists THEN CheckQuantityAndDoSomething(Product/Quantity)

I föregående exempel <CheckQuantityAndDoSomething> kontrollerar funktionen parametervärdet och körs om villkoret uppfylls.

Kommentar

Du kan också ändra XPath Field-egenskapen för XML-fakta för att fånga upp eventuella fel, men den här metoden rekommenderas inte.