Struct ruru::Proc
[−]
[src]
pub struct Proc { /* fields omitted */ }
Proc
(works with Lambda
as well)
Methods
impl Proc
[src]
fn call(&self, arguments: Vec<AnyObject>) -> AnyObject
Calls a proc with given arguments
Examples
#[macro_use] extern crate ruru; use ruru::{Class, Object, Proc, RString}; class!(Greeter); methods!( Greeter, itself, fn greet_rust_with(greeting_template: Proc) -> RString { let name = RString::new("Rust").to_any_object(); let rendered_template = greeting_template.unwrap().call(vec![name]); rendered_template.try_convert_to::<RString>().unwrap() } ); fn main() { Class::new("Greeter", None).define(|itself| { itself.def_self("greet_rust_with", greet_rust_with); }); }
Ruby:
class Greeter
def self.greet_rust_with(greeting_template)
greeting_template.call('Rust')
end
end
greeting_template = -> (name) { "Hello, #{name}!" }
Greeter.greet_rust_with(greeting_template) # => "Hello, Rust!"
Trait Implementations
impl Debug for Proc
[src]
impl PartialEq for Proc
[src]
fn eq(&self, __arg_0: &Proc) -> bool
This method tests for self
and other
values to be equal, and is used by ==
. Read more
fn ne(&self, __arg_0: &Proc) -> bool
This method tests for !=
.
impl From<Value> for Proc
[src]
impl Object for Proc
[src]
fn value(&self) -> Value
Returns internal value
of current object. Read more
fn class(&self) -> Class
Returns a class of current object. Read more
fn singleton_class(&self) -> Class
Returns a singleton class of current object. Read more
fn get_data<'a, T>(&'a self, wrapper: &'a DataTypeWrapper<T>) -> &mut T
Gets a Rust structure that is wrapped into a Ruby object. Read more
fn define<F: Fn(&mut Self)>(&mut self, f: F) -> &Self
Wraps calls to the object. Read more
fn define_method<I: Object, O: Object>(
&mut self,
name: &str,
callback: Callback<I, O>
)
&mut self,
name: &str,
callback: Callback<I, O>
)
Defines an instance method for the given class or object. Read more
fn define_singleton_method<I: Object, O: Object>(
&mut self,
name: &str,
callback: Callback<I, O>
)
&mut self,
name: &str,
callback: Callback<I, O>
)
Defines a class method for given class or singleton method for object. Read more
fn def<I: Object, O: Object>(&mut self, name: &str, callback: Callback<I, O>)
An alias for define_method
(similar to Ruby syntax def some_method
).
fn def_self<I: Object, O: Object>(
&mut self,
name: &str,
callback: Callback<I, O>
)
&mut self,
name: &str,
callback: Callback<I, O>
)
An alias for define_singleton_method
(similar to Ruby def self.some_method
).
fn send(&self, method: &str, arguments: Vec<AnyObject>) -> AnyObject
Calls a given method on an object similarly to Ruby Object#send
method Read more
fn respond_to(&self, method: &str) -> bool
Checks whether the object responds to given method Read more
fn is_nil(&self) -> bool
Checks whether the object is nil
Read more
fn to_any_object(&self) -> AnyObject
Converts struct to AnyObject
Read more
fn instance_variable_get(&self, variable: &str) -> AnyObject
Gets an instance variable of object Read more
fn instance_variable_set<T: Object>(
&mut self,
variable: &str,
value: T
) -> AnyObject
&mut self,
variable: &str,
value: T
) -> AnyObject
Sets an instance variable for object Read more
fn is_frozen(&self) -> bool
Returns the freeze status of the object. Read more
fn freeze(&mut self) -> Self
Prevents further modifications to the object. Read more
unsafe fn to<T: Object>(&self) -> T
Unsafely casts current object to the specified Ruby type Read more
fn try_convert_to<T: VerifiedObject>(&self) -> Result<T>
Safely casts current object to the specified Ruby type Read more
fn ty(&self) -> ValueType
Determines the value type of the object Read more