Precedence is how the operators are evaluted, so something like 3+5*2 ends up as 13, and not 16.
For control over precedence, use parenthesis '(' and ')' to force operations to happen in a specific order.
Indexing ('a.b' or 'a[b]'), function calls ('a(...)'), and method calls ('a:b(...)') always have a higher precedence than the operators.
In lua 5.1 this is the precedence. (from higher to lower priority)
(binary)^ (unary)not (unary)# (unary)- (binary)* (binary)/ (binary)% (binary)+ (binary)- (binary).. (binary)== (binary)~= (binary)< (binary)> (binary)<= (binary)>= (binary)and (binary)or
The concatenation operator ('..') and the exponentation operator ('^') are right associative, while everything else is left associative.
x..y..z is equivalent to x..(y..z)
x+y+z is equivalent to (x+y)+z
Easy Written By Halalaluyafail3
See Halalaluyafail3's profile on Roblox