Struct rutie::Proc [−][src]
Proc
(works with Lambda
as well)
Implementations
impl Proc
[src]
pub fn call(&self, arguments: &[AnyObject]) -> AnyObject
[src]
Calls a proc with given arguments
Examples
#[macro_use] extern crate rutie; use rutie::{Class, Object, Proc, RString}; class!(Greeter); methods!( Greeter, rtself, fn greet_rust_with(greeting_template: Proc) -> RString { let name = RString::new_utf8("Rust").to_any_object(); let rendered_template = greeting_template.unwrap().call(&[name]); rendered_template.try_convert_to::<RString>().unwrap() } ); fn main() { Class::new("Greeter", None).define(|klass| { klass.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!"
pub fn is_lambda(&self) -> bool
[src]
Check if Proc is a lambda
Examples
use rutie::{Object, Proc, VM, VerifiedObject}; let procish = VM::eval("lambda {|a,b| a + b }").unwrap(); assert!(Proc::is_correct_type(&procish), "not Proc!");
Ruby:
procish = lambda {|a,b| a + b }
procish.lambda? # => true
Trait Implementations
impl Debug for Proc
[src]
impl From<Value> for Proc
[src]
impl Into<AnyObject> for Proc
[src]
impl Into<Value> for Proc
[src]
impl Object for Proc
[src]
fn value(&self) -> Value
[src]
fn class(&self) -> Class
[src]
fn singleton_class(&self) -> Class
[src]
fn get_data<'a, T>(&'a self, wrapper: &'a dyn DataTypeWrapper<T>) -> &T
[src]
fn get_data_mut<'a, T>(
&'a mut self,
wrapper: &'a dyn DataTypeWrapper<T>
) -> &mut T
[src]
&'a mut self,
wrapper: &'a dyn DataTypeWrapper<T>
) -> &mut T
fn define<F: Fn(&mut Self)>(&mut self, f: F) -> &Self
[src]
fn define_method<I: Object, O: Object>(
&mut self,
name: &str,
callback: Callback<I, O>
)
[src]
&mut self,
name: &str,
callback: Callback<I, O>
)
fn define_private_method<I: Object, O: Object>(
&mut self,
name: &str,
callback: Callback<I, O>
)
[src]
&mut self,
name: &str,
callback: Callback<I, O>
)
fn define_singleton_method<I: Object, O: Object>(
&mut self,
name: &str,
callback: Callback<I, O>
)
[src]
&mut self,
name: &str,
callback: Callback<I, O>
)
fn def<I: Object, O: Object>(&mut self, name: &str, callback: Callback<I, O>)
[src]
fn def_private<I: Object, O: Object>(
&mut self,
name: &str,
callback: Callback<I, O>
)
[src]
&mut self,
name: &str,
callback: Callback<I, O>
)
fn def_self<I: Object, O: Object>(
&mut self,
name: &str,
callback: Callback<I, O>
)
[src]
&mut self,
name: &str,
callback: Callback<I, O>
)
unsafe fn send(&self, method: &str, arguments: &[AnyObject]) -> AnyObject
[src]
fn equals<T: Object>(&self, other: &T) -> bool
[src]
fn case_equals<T: Object>(&self, other: &T) -> bool
[src]
fn is_eql<T: Object>(&self, other: &T) -> bool
[src]
fn is_equal<T: Object>(&self, other: &T) -> bool
[src]
fn respond_to(&self, method: &str) -> bool
[src]
fn protect_send(
&self,
method: &str,
arguments: &[AnyObject]
) -> Result<AnyObject, AnyException>
[src]
&self,
method: &str,
arguments: &[AnyObject]
) -> Result<AnyObject, AnyException>
fn protect_public_send(
&self,
method: &str,
arguments: &[AnyObject]
) -> Result<AnyObject, AnyException>
[src]
&self,
method: &str,
arguments: &[AnyObject]
) -> Result<AnyObject, AnyException>
fn is_nil(&self) -> bool
[src]
fn to_any_object(&self) -> AnyObject
[src]
fn instance_variable_get(&self, variable: &str) -> AnyObject
[src]
fn instance_variable_set<T: Object>(
&mut self,
variable: &str,
value: T
) -> AnyObject
[src]
&mut self,
variable: &str,
value: T
) -> AnyObject
fn is_frozen(&self) -> bool
[src]
fn freeze(&mut self) -> Self
[src]
unsafe fn to<T: Object>(&self) -> T
[src]
fn try_convert_to<T: VerifiedObject>(&self) -> Result<T, AnyException>
[src]
fn ty(&self) -> ValueType
[src]
impl PartialEq<Proc> for Proc
[src]
impl VerifiedObject for Proc
[src]
fn is_correct_type<T: Object>(object: &T) -> bool
[src]
fn error_message() -> &'static str
[src]
Auto Trait Implementations
impl RefUnwindSafe for Proc
[src]
impl Send for Proc
[src]
impl Sync for Proc
[src]
impl Unpin for Proc
[src]
impl UnwindSafe for Proc
[src]
Blanket Implementations
impl<T> Any for T where
T: 'static + ?Sized,
[src]
T: 'static + ?Sized,
impl<T> Borrow<T> for T where
T: ?Sized,
[src]
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
[src]
T: ?Sized,
pub fn borrow_mut(&mut self) -> &mut T
[src]
impl<T> From<T> for T
[src]
impl<T, U> Into<U> for T where
U: From<T>,
[src]
U: From<T>,
impl<T, U> TryFrom<U> for T where
U: Into<T>,
[src]
U: Into<T>,
type Error = Infallible
The type returned in the event of a conversion error.
pub fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>
[src]
impl<T, U> TryInto<U> for T where
U: TryFrom<T>,
[src]
U: TryFrom<T>,