Prioritering av verksamheten

Sekvensen av operationer i programmering är operationssekvensen (eller beräkningsriktningen) som  fastställs av syntaxen för ett visst programmeringsspråk , som implementeras när operationerna har samma prioritet och det inte finns någon explicit (med parentes) indikation på i vilken ordning de utförs. Associativitet (från lat. associatio ) - en egenskap för operationer som gör att du kan återställa sekvensen för deras utförande i frånvaro av explicita indikationer på ordern med samma prioritet; samtidigt finns det en skillnad mellan vänsterassociativitet , där uttrycket utvärderas från vänster till höger, och högerassociativitet associativitet - från höger till vänster. Motsvarande operatorer kallas vänsterassociativa och högerassociativa.

Till exempel, i Python är de flesta operationer vänsterassociativa, medan exponentiering är högerassociativa:

Högerassociativitet (uttrycksutvärdering från höger till vänster), exponentiering i Python:

x ** y ** z == x ** ( y ** z ) 2 ** 2 ** 3 == 2 ** ( 2 ** 3 ) == 256 ( 2 ** 2 ) ** 3 == 64

Vänsterassociativitet (uttrycksutvärdering från vänster till höger), bitvis förskjutning i Python:

x << y << z == ( x << y ) << z 2 << 2 << 3 == ( 2 << 2 ) << 3 == 64 2 << ( 2 << 3 ) == 2 << 16 == 131072

I C# lämnas alla binära operationer utom tilldelning associativa:

8 / 4 / 2 == ( 8 / 4 ) / 2

Se även