pub struct Proc { /* private fields */ }
Expand description
Proc
(works with Lambda
as well)
Implementations
sourceimpl Proc
impl Proc
sourcepub fn call(&self, arguments: Option<&[AnyObject]>) -> AnyObject
pub fn call(&self, arguments: Option<&[AnyObject]>) -> AnyObject
Calls a proc with given arguments
Examples
#[macro_use]
extern crate rutie;
use rutie::{Class, Object, Proc, RString};
class!(Greeter);
methods!(
Greeter,
itself,
fn greet_rust_with(greeting_template: Proc) -> RString {
let name = RString::new_utf8("Rust").to_any_object();
let rendered_template = greeting_template.unwrap().call(Some(&[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
sourceimpl Object for Proc
impl Object for Proc
sourcefn singleton_class(&self) -> Class
fn singleton_class(&self) -> Class
Returns a singleton class of current object. Read more
sourcefn get_data<'a, T>(&'a self, wrapper: &'a dyn DataTypeWrapper<T>) -> &'_ T
fn get_data<'a, T>(&'a self, wrapper: &'a dyn DataTypeWrapper<T>) -> &'_ T
Gets an immutable reference to the Rust structure which is wrapped into a Ruby object. Read more
sourcefn get_data_mut<'a, T>(
&'a mut self,
wrapper: &'a dyn DataTypeWrapper<T>
) -> &'_ mut T
fn get_data_mut<'a, T>(
&'a mut self,
wrapper: &'a dyn DataTypeWrapper<T>
) -> &'_ mut T
Gets a mutable reference to the Rust structure which is wrapped into a Ruby object.
sourcefn 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
sourcefn define_private_method<I: Object, O: Object>(
&mut self,
name: &str,
callback: Callback<I, O>
)
fn define_private_method<I: Object, O: Object>(
&mut self,
name: &str,
callback: Callback<I, O>
)
Defines a private instance method for the given class or object. Read more
sourcefn 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
sourcefn 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
).sourcefn def_private<I: Object, O: Object>(
&mut self,
name: &str,
callback: Callback<I, O>
)
fn def_private<I: Object, O: Object>(
&mut self,
name: &str,
callback: Callback<I, O>
)
An alias for
define_private_method
(similar to Ruby syntax private def some_method
).sourcefn 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
).sourcefn send(&self, method: &str, arguments: Option<&[AnyObject]>) -> AnyObject
fn send(&self, method: &str, arguments: Option<&[AnyObject]>) -> AnyObject
Calls a given method on an object similarly to Ruby
Object#send
method Read moresourcefn respond_to(&self, method: &str) -> bool
fn respond_to(&self, method: &str) -> bool
Checks whether the object responds to given method Read more
sourcefn protect_send(
&self,
method: &str,
arguments: Option<&[AnyObject]>
) -> Result<AnyObject, AnyException>
fn protect_send(
&self,
method: &str,
arguments: Option<&[AnyObject]>
) -> Result<AnyObject, AnyException>
protect_send
returns Result<AnyObject, AnyObject> Read moresourcefn protect_public_send(
&self,
method: &str,
arguments: Option<&[AnyObject]>
) -> Result<AnyObject, AnyException>
fn protect_public_send(
&self,
method: &str,
arguments: Option<&[AnyObject]>
) -> Result<AnyObject, AnyException>
protect_public_send
returns Result<AnyObject, AnyObject> Read moresourcefn to_any_object(&self) -> AnyObject
fn to_any_object(&self) -> AnyObject
Converts struct to
AnyObject
Read moresourcefn instance_variable_get(&self, variable: &str) -> AnyObject
fn instance_variable_get(&self, variable: &str) -> AnyObject
Gets an instance variable of object Read more
sourcefn 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
sourceunsafe fn to<T: Object>(&self) -> T
unsafe fn to<T: Object>(&self) -> T
Unsafely casts current object to the specified Ruby type Read more
sourcefn try_convert_to<T: VerifiedObject>(&self) -> Result<T, AnyException>
fn try_convert_to<T: VerifiedObject>(&self) -> Result<T, AnyException>
Safely casts current object to the specified Ruby type Read more
sourceimpl VerifiedObject for Proc
impl VerifiedObject for Proc
fn is_correct_type<T: Object>(object: &T) -> bool
fn error_message() -> &'static str
Auto Trait Implementations
impl RefUnwindSafe for Proc
impl Send for Proc
impl Sync for Proc
impl Unpin for Proc
impl UnwindSafe for Proc
Blanket Implementations
sourceimpl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
const: unstable · sourcefn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more