Enum mlua::MetaMethod
source · [−]pub enum MetaMethod {
Show 28 variants
Add,
Sub,
Mul,
Div,
Mod,
Pow,
Unm,
IDiv,
BAnd,
BOr,
BXor,
BNot,
Shl,
Shr,
Concat,
Len,
Eq,
Lt,
Le,
Index,
NewIndex,
Call,
ToString,
Pairs,
IPairs,
Iter,
Close,
Custom(StdString),
}
Expand description
Kinds of metamethods that can be overridden.
Currently, this mechanism does not allow overriding the __gc
metamethod, since there is
generally no need to do so: UserData
implementors can instead just implement Drop
.
Variants
Add
The +
operator.
Sub
The -
operator.
Mul
The *
operator.
Div
The /
operator.
Mod
The %
operator.
Pow
The ^
operator.
Unm
The unary minus (-
) operator.
IDiv
The floor division (//) operator.
Requires feature = "lua54/lua53"
BAnd
The bitwise AND (&) operator.
Requires feature = "lua54/lua53"
BOr
The bitwise OR (|) operator.
Requires feature = "lua54/lua53"
BXor
The bitwise XOR (binary ~) operator.
Requires feature = "lua54/lua53"
BNot
The bitwise NOT (unary ~) operator.
Requires feature = "lua54/lua53"
Shl
The bitwise left shift (<<) operator.
Shr
The bitwise right shift (>>) operator.
Concat
The string concatenation operator ..
.
Len
The length operator #
.
Eq
The ==
operator.
Lt
The <
operator.
Le
The <=
operator.
Index
Index access obj[key]
.
NewIndex
Index write access obj[key] = value
.
Call
The call “operator” obj(arg1, args2, ...)
.
ToString
The __tostring
metamethod.
This is not an operator, but will be called by methods such as tostring
and print
.
Pairs
The __pairs
metamethod.
This is not an operator, but it will be called by the built-in pairs
function.
Requires feature = "lua54/lua53/lua52"
IPairs
lua52
or luajit52
only.The __ipairs
metamethod.
This is not an operator, but it will be called by the built-in ipairs
function.
Requires feature = "lua52"
Iter
luau
only.The __iter
metamethod.
Executed before the iteration begins, and should return an iterator function like next
(or a custom one).
Requires feature = "lua"
Close
The __close
metamethod.
Executed when a variable, that marked as to-be-closed, goes out of scope.
More information about to-be-closed variabled can be found in the Lua 5.4 documentation.
Requires feature = "lua54"
Custom(StdString)
A custom metamethod.
Must not be in the protected list: __gc
, __metatable
, __mlua*
.
Implementations
sourceimpl MetaMethod
impl MetaMethod
Trait Implementations
sourceimpl Clone for MetaMethod
impl Clone for MetaMethod
sourcefn clone(&self) -> MetaMethod
fn clone(&self) -> MetaMethod
1.0.0 · sourcefn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source
. Read more