Priorita operací

Posloupnost operací v programování je posloupnost operací (nebo směr výpočtu)  stanovená syntaxí konkrétního programovacího jazyka , která je implementována, když operace mají stejnou prioritu a neexistuje žádná explicitní (pomocí závorek) označení pořadí, v jakém se provádějí. Asociativita (z lat. associatio ) - vlastnost operací, která umožňuje obnovit pořadí jejich provádění při absenci explicitních indikací příkazu se stejnou prioritou; zároveň je rozdíl mezi levou asociativitou, kdy se výraz vyhodnocuje zleva doprava, a pravou asociativitou asociativita - zprava doleva. Odpovídající operátory se nazývají levý asociativní a pravý asociativní.

Například v Pythonu je většina operací asociativní vlevo, zatímco umocňování je asociativní vpravo:

Pravá asociativita (vyhodnocení výrazu zprava doleva), umocňování v Pythonu:

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

Levá asociativita (vyhodnocení výrazu zleva doprava), bitový posun v Pythonu:

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

V C# jsou všechny binární operace kromě přiřazení ponechány asociativní:

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

Viz také