-
Notifications
You must be signed in to change notification settings - Fork 24
Metamethods
Rohansi edited this page Oct 19, 2014
·
16 revisions
Name | Operation | Called when... |
---|---|---|
__get |
x.y , x[y]
|
attempting to get a value that does not exist in the object |
__set |
x.y = z , x[y] = z
|
attempting to set a value that does not exist in the object |
__call |
x(...y) |
attempting to call the object |
__eq |
x == y |
checking if the object is equal to another value |
__gt |
x > y |
checking if the object is greater than another value, other operations are combinations of __eq and __gt . |
__in |
x in y |
|
__add |
x + y |
|
__sub |
x - y |
|
__mul |
x * y |
|
__div |
x / y |
|
__mod |
x % y |
|
__pow |
x ** y |
|
__neg |
-x |
|
__and |
x + y |
|
__or |
x - y |
|
__xor |
x * y |
|
__lshift |
x / y |
|
__rshift |
x % y |
|
__not |
~x |
|
__number |
n/a | implicitly converting the object to a number |
__bool |
n/a | implciitly converting the object to a bool |
__string |
n/a | implicitly or explicitly converting the object to a string |
__serialize |
n/a | the object is being serialized, does not need to return a string |