pub struct Proc { /* private fields */ }
Expand description
Proc
(works with Lambda
as well)
Implementations§
Source§impl Proc
impl Proc
Sourcepub fn call(&self, arguments: Vec<AnyObject>) -> AnyObject
pub 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§
Source§impl Object for Proc
impl Object for Proc
Source§fn singleton_class(&self) -> Class
fn singleton_class(&self) -> Class
Returns a singleton class of current object. Read more
Source§fn get_data<'a, T>(&'a self, wrapper: &'a dyn DataTypeWrapper<T>) -> &mut T
fn get_data<'a, T>(&'a self, wrapper: &'a dyn DataTypeWrapper<T>) -> &mut T
Gets a Rust structure that is wrapped into a Ruby object. Read more
Source§fn define_method<I: Object, O: Object>(
&mut self,
name: &str,
callback: Callback<I, O>,
)
fn define_method<I: Object, O: Object>( &mut self, name: &str, callback: Callback<I, O>, )
Defines an instance method for the given class or object. Read more
Source§fn define_singleton_method<I: Object, O: Object>(
&mut self,
name: &str,
callback: Callback<I, O>,
)
fn define_singleton_method<I: Object, O: Object>( &mut self, name: &str, callback: Callback<I, O>, )
Defines a class method for given class or singleton method for object. Read more
Source§fn def<I: Object, O: Object>(&mut self, name: &str, callback: Callback<I, O>)
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
).Source§fn def_self<I: Object, O: Object>(
&mut self,
name: &str,
callback: Callback<I, O>,
)
fn def_self<I: Object, O: Object>( &mut self, name: &str, callback: Callback<I, O>, )
An alias for
define_singleton_method
(similar to Ruby def self.some_method
).Source§fn send(&self, method: &str, arguments: Vec<AnyObject>) -> AnyObject
fn send(&self, method: &str, arguments: Vec<AnyObject>) -> AnyObject
Calls a given method on an object similarly to Ruby
Object#send
method Read moreSource§fn respond_to(&self, method: &str) -> bool
fn respond_to(&self, method: &str) -> bool
Checks whether the object responds to given method Read more
Source§fn to_any_object(&self) -> AnyObject
fn to_any_object(&self) -> AnyObject
Converts struct to
AnyObject
Read moreSource§fn instance_variable_get(&self, variable: &str) -> AnyObject
fn instance_variable_get(&self, variable: &str) -> AnyObject
Gets an instance variable of object Read more
Source§fn instance_variable_set<T: Object>(
&mut self,
variable: &str,
value: T,
) -> AnyObject
fn instance_variable_set<T: Object>( &mut self, variable: &str, value: T, ) -> AnyObject
Sets an instance variable for object Read more
Source§unsafe fn to<T: Object>(&self) -> T
unsafe fn to<T: Object>(&self) -> T
Unsafely casts current object to the specified Ruby type Read more
Source§fn try_convert_to<T: VerifiedObject>(&self) -> Result<T>
fn try_convert_to<T: VerifiedObject>(&self) -> Result<T>
Safely casts current object to the specified Ruby type Read more
Source§impl VerifiedObject for Proc
impl VerifiedObject for Proc
fn is_correct_type<T: Object>(object: &T) -> bool
fn error_message() -> &'static str
impl StructuralPartialEq for Proc
Auto Trait Implementations§
impl Freeze for Proc
impl RefUnwindSafe for Proc
impl Send for Proc
impl Sync for Proc
impl Unpin for Proc
impl UnwindSafe for Proc
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