ruru::class!
[−]
[src]
macro_rules! class { ($class: ident) => { ... }; }
Creates Rust structure for new Ruby class
Examples
#[macro_use] extern crate ruru; use ruru::{Class, RString, VM}; class!(Greeter); methods!( Greeter, itself, fn anonymous_greeting() -> RString { RString::new("Hello stranger!") } fn friendly_greeting(name: RString) -> RString { let greeting = format!("Hello dear {}!", name.to_string()); RString::new(&greeting) } ); fn main() { Class::new("Greeter").define(|itself| { itself.def("anonymous_greeting", anonymous_greeting); itself.def("friendly_greeting", friendly_greeting); }); }
Ruby:
class Greeter
def anonymous_greeting
'Hello stranger!'
end
def friendly_greeting(name)
"Hello dear #{name}"
end
end