Enum mlua::prelude::LuaValue [−][src]
pub enum LuaValue<'lua> {
Nil,
Boolean(bool),
LightUserData(LightUserData),
Integer(Integer),
Number(Number),
String(String<'lua>),
Table(Table<'lua>),
Function(Function<'lua>),
Thread(Thread<'lua>),
UserData(AnyUserData<'lua>),
Error(Error),
}Expand description
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, and doing so will result in a panic.
Variants
Expand description
The Lua value nil.
Boolean(bool)Expand description
The Lua value true or false.
LightUserData(LightUserData)Expand description
A “light userdata” object, equivalent to a raw pointer.
Integer(Integer)Expand description
An integer number.
Any Lua number convertible to a Integer will be represented as this variant.
Number(Number)Expand description
A floating point number.
String(String<'lua>)Expand description
An interned string, managed by Lua.
Unlike Rust strings, Lua strings may not be valid UTF-8.
Table(Table<'lua>)Expand description
Reference to a Lua table.
Function(Function<'lua>)Expand description
Reference to a Lua function (or closure).
Thread(Thread<'lua>)Expand description
Reference to a Lua thread (or coroutine).
UserData(AnyUserData<'lua>)Expand description
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)Expand description
Error is a special builtin userdata type. When received from Lua it is implicitly cloned.
Implementations
impl<'lua> Value<'lua>[src]
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]
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> FromIterator<Value<'lua>> for MultiValue<'lua>[src]
impl<'lua> FromIterator<Value<'lua>> for MultiValue<'lua>[src]fn from_iter<I: IntoIterator<Item = Value<'lua>>>(iter: I) -> Self[src]
fn from_iter<I: IntoIterator<Item = Value<'lua>>>(iter: I) -> Self[src]Creates a value from an iterator. Read more
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> BorrowMut<T> for T where
T: ?Sized, [src]
impl<T> BorrowMut<T> for T where
T: ?Sized, [src]pub fn borrow_mut(&mut self) -> &mut T[src]
pub fn borrow_mut(&mut self) -> &mut T[src]Mutably borrows from an owned value. Read more
impl<T> Serialize for T where
T: Serialize + ?Sized, [src]
impl<T> Serialize for T where
T: Serialize + ?Sized, [src]pub fn erased_serialize(
&self,
serializer: &mut dyn Serializer
) -> Result<Ok, Error>[src]
&self,
serializer: &mut dyn Serializer
) -> Result<Ok, Error>
impl<T> ToOwned for T where
T: Clone, [src]
impl<T> ToOwned for T where
T: Clone, [src]type Owned = T
type Owned = TThe resulting type after obtaining ownership.
pub fn to_owned(&self) -> T[src]
pub fn to_owned(&self) -> T[src]Creates owned data from borrowed data, usually by cloning. Read more
pub fn clone_into(&self, target: &mut T)[src]
pub fn clone_into(&self, target: &mut T)[src]🔬 This is a nightly-only experimental API. (toowned_clone_into)
recently added
Uses borrowed data to replace owned data, usually by cloning. Read more