# Operators

2 min

An operator is a special set of symbols used to perform an operation or conditional evaluation.

## Logical

The logical operators for `articles/Conditional Statements in Lua|conditional statements` are `and`, `or`, and `not`. These operators consider both `false` and `nil` as “false” and anything else as “true.”

Operator Description
`and` Evaluates as `true` only if both conditions are true
`or` Evaluates as `true` if either condition is true
`not` Evaluates as the opposite of the condition

## Relational

Relational operators compare two parameters and return a `articles/Boolean|boolean` `true` or `false`.

Operator Description Associated metamethod
`==` Equal to `__eq`
`~=` Not equal to
`>` Greater than
`<` Less than `__lt`
`>=` Greater than or equal to
`<=` Less than or equal to `__le`

## Arithmetic

Lua supports the usual binary operators along with exponentiation, modulus, and unary negation.

Operator Description Example Associated metamethod
`+` Addition 1 + 1 = 2 `__add`
`-` Subtraction 1 - 1 = 0 `__sub`
`*` Multiplication 5 * 5 = 25 `__mul`
`/` Division 10 / 5 = 2 `__div`
`^` Exponentiation 2 ^ 4 = 16 `__pow`
`%` Modulus 13 % 7 = 6 `__mod`
`-` Unary negation -2 = 0 - 2 `__unm`

## Miscellaneous

Miscellaneous operators include concatenation and length.

Operator Description Associated metamethod
`..` Concatenates two strings `__concat`
`#` Length of `articles/Table|table` `__len`
Tags:
• lua
• operator