Enum phoenix_lang::value::Value
source · pub enum Value {
Float(f32),
Long(i64),
Bool(bool),
Nil,
PhoenixString(String),
PhoenixList(usize),
PhoenixFunction(usize),
NativeFunction(Option<usize>, NativeFn),
PhoenixClass(usize),
PhoenixModule(usize),
PhoenixPointer(usize),
PhoenixBoundMethod(ObjBoundMethod),
}Variants§
Float(f32)
Long(i64)
Bool(bool)
Nil
PhoenixString(String)
PhoenixList(usize)
PhoenixFunction(usize)
NativeFunction(Option<usize>, NativeFn)
PhoenixClass(usize)
PhoenixModule(usize)
PhoenixPointer(usize)
PhoenixBoundMethod(ObjBoundMethod)
Implementations§
source§impl Value
impl Value
sourcepub fn to_string(
&self,
vm: &VM,
state: &VMState,
modules: &Vec<ModuleChunk>
) -> String
pub fn to_string( &self, vm: &VM, state: &VMState, modules: &Vec<ModuleChunk> ) -> String
Used for print statements, use {:?} debug formatting for trace and stack examining
pub fn as_float(&self) -> Option<f32>
pub fn as_long(&self) -> Option<i64>
pub fn as_bool(&self) -> Option<bool>
pub fn as_string(&self) -> Option<&String>
sourcepub fn as_pointer(&self) -> usize
pub fn as_pointer(&self) -> usize
Hard cast to a ObjPointer. Panics if this value is not a PhoenixPointer
Trait Implementations§
source§impl<'de> Deserialize<'de> for Value
impl<'de> Deserialize<'de> for Value
source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where __D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
source§impl PartialEq<Value> for Value
impl PartialEq<Value> for Value
impl Eq for Value
Auto Trait Implementations§
impl RefUnwindSafe for Value
impl Send for Value
impl Sync for Value
impl Unpin for Value
impl UnwindSafe for Value
Blanket Implementations§
source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere T: ?Sized,
source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more