[−][src]Enum mlua::Value
A dynamically typed Lua value. The String
, Table
, Function
, Thread
, and UserData
variants contain handle types into the internal Lua state. It is a logic error to mix handle
types between separate Lua
instances, or between a parent Lua
instance and one received as a
parameter in a Rust callback, and doing so will result in a panic.
Variants
The Lua value nil
.
Boolean(bool)
The Lua value true
or false
.
LightUserData(LightUserData)
A "light userdata" object, equivalent to a raw pointer.
Integer(Integer)
An integer number.
Any Lua number convertible to a Integer
will be represented as this variant.
Number(Number)
A floating point number.
String(String<'lua>)
An interned string, managed by Lua.
Unlike Rust strings, Lua strings may not be valid UTF-8.
Table(Table<'lua>)
Reference to a Lua table.
Function(Function<'lua>)
Reference to a Lua function (or closure).
Thread(Thread<'lua>)
Reference to a Lua thread (or coroutine).
UserData(AnyUserData<'lua>)
Reference to a userdata object that holds a custom type which implements UserData
.
Special builtin userdata types will be represented as other Value
variants.
Error(Error)
Error
is a special builtin userdata type. When received from Lua it is implicitly cloned.
Methods
impl<'lua> Value<'lua>
[src]
pub fn type_name(&self) -> &'static str
[src]
pub fn equals<T: AsRef<Self>>(&self, other: T) -> Result<bool>
[src]
Compares two values for equality.
Equality comparisons do not convert strings to numbers or vice versa. Tables, Functions, Threads, and Userdata are compared by reference: two objects are considered equal only if they are the same object.
If Tables or Userdata have __eq
metamethod then mlua will try to invoke it.
The first value is checked first. If that value does not define a metamethod
for __eq
, then mlua will check the second value.
Then mlua calls the metamethod with the two values as arguments, if found.
Trait Implementations
impl<'lua> AsRef<Value<'lua>> for Value<'lua>
[src]
impl<'lua> Clone for Value<'lua>
[src]
impl<'lua> Debug for Value<'lua>
[src]
impl<'lua> FromIterator<Value<'lua>> for MultiValue<'lua>
[src]
fn from_iter<I: IntoIterator<Item = Value<'lua>>>(iter: I) -> Self
[src]
impl<'lua> FromLua<'lua> for Value<'lua>
[src]
impl<'lua> PartialEq<Value<'lua>> for Value<'lua>
[src]
impl<'lua> ToLua<'lua> for Value<'lua>
[src]
Auto Trait Implementations
impl<'lua> !RefUnwindSafe for Value<'lua>
impl<'lua> !Send for Value<'lua>
impl<'lua> !Sync for Value<'lua>
impl<'lua> Unpin for Value<'lua>
impl<'lua> !UnwindSafe for Value<'lua>
Blanket Implementations
impl<T> Any for T where
T: 'static + ?Sized,
[src]
T: 'static + ?Sized,
impl<T> Borrow<T> for T where
T: ?Sized,
[src]
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
[src]
T: ?Sized,
fn borrow_mut(&mut self) -> &mut T
[src]
impl<T> From<T> for T
[src]
impl<T, U> Into<U> for T where
U: From<T>,
[src]
U: From<T>,
impl<T> ToOwned for T where
T: Clone,
[src]
T: Clone,
type Owned = T
The resulting type after obtaining ownership.
fn to_owned(&self) -> T
[src]
fn clone_into(&self, target: &mut T)
[src]
impl<T, U> TryFrom<U> for T where
U: Into<T>,
[src]
U: Into<T>,
type Error = Infallible
The type returned in the event of a conversion error.
fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>
[src]
impl<T, U> TryInto<U> for T where
U: TryFrom<T>,
[src]
U: TryFrom<T>,