silt-lua 0.1.1

A pure rust Lua interpreter and virtual machine
Documentation
pub trait UserData {
    fn get_type(&self) -> String;
    fn to_string(&self) -> String;
    fn get_meta_methods(&self) -> Option<MetaMethods> {
        None
    }
}

pub struct MetaMethods {
    // pub add: Option<fn(&UserData, &UserData) -> UserData>,
    // pub sub: Option<fn(&UserData, &UserData) -> UserData>,
    // pub mul: Option<fn(&UserData, &UserData) -> UserData>,
    // pub div: Option<fn(&UserData, &UserData) -> UserData>,
    // pub pow: Option<fn(&UserData, &UserData) -> UserData>,
    // pub concat: Option<fn(&UserData, &UserData) -> UserData>,
    // pub eq: Option<fn(&UserData, &UserData) -> UserData>,
    // pub lt: Option<fn(&UserData, &UserData) -> UserData>,
    // pub le: Option<fn(&UserData, &UserData) -> UserData>,
    // pub len: Option<fn(&UserData) -> UserData>,
    // pub tostring: Option<fn(&UserData) -> UserData>,
    // pub call: Option<fn(&UserData, Vec<UserData>) -> UserData>,
}

struct ExampleUserData {
    value: i64,
}

impl UserData for ExampleUserData {
    fn get_type(&self) -> String {
        "ExampleUserData".to_string()
    }
    fn to_string(&self) -> String {
        self.value.to_string()
    }
}