Kortslutningsberäkningar

Kortslutningsutvärdering , även känd som McCarthy -utvärdering , till ära av den amerikanske datavetaren John McCarthy , är en  strategi i vissa programmeringsspråk där den andra logiska operatorn exekveras eller utvärderas endast genom att om den första logiska operatorn inte är tillräckligt för att bestämma uttryckets värde. Sålunda, efter att resultatet av ett uttryck blir uppenbart, upphör dess utvärdering.  

Exempel:

Mer generellt, i uttryck av formen antingen , fortsätter utvärderingen från vänster till höger tills en av eller respektive . Närvaron eller frånvaron av en kortslutningsberäkning är särskilt viktig om uttryckets medlemmar är åtgärder med möjliga biverkningar (utöver att anropa funktioner kan detta vara ett programstopp när de divideras med noll eller en array utanför gränserna). Till exempel är en vykod endast korrekt om språket (eller kompilatorn) garanterar kortslutningsutvärdering. falsetrueif (n != 0) and (k/n > 17) ...

I programmeringsspråk med lat utvärdering ( Lisp , Perl , Haskell ) används logiska operatorer i ett kort mönster. Andra ( Ada , Java , Delphi ) har både kortschema och vanliga logiska operatorer tillgängliga. För vissa logiska operationer, såsom exklusiv eller (XOR), kan kortslutningen inte användas eftersom båda operanderna alltid krävs för att bestämma resultatet.

Länkar