Struct r::callable::primitive::PrimitiveQuote
source · pub struct PrimitiveQuote;
Expand description
Quote code
Capture code as a language object instead of evaluating it.
§In-Language
§Usage
quote(x)
§Arguments
x
: An expression to capture.
§Examples
quote(x + y)
quote(1)
§Differentes to the R implementation
While R treats literals as expressions this implementation of quote
differentiates between
the literal 1
and the length-1 vector “c(1)
”.
Thereby the return type of quote()
can be expected to be an object of type Expression
.
Trait Implementations§
source§impl Builtin for PrimitiveQuote
impl Builtin for PrimitiveQuote
source§impl Callable for PrimitiveQuote
impl Callable for PrimitiveQuote
fn call(&self, args: ExprList, _stack: &mut CallStack) -> EvalResult
fn match_args( &self, args: List, stack: &mut CallStack, ) -> Result<(List, List), Signal>
fn match_arg_exprs( &self, args: ExprList, stack: &mut CallStack, ) -> Result<(List, List), Signal>
fn call_mut(&self, args: ExprList, stack: &mut CallStack) -> EvalResult
fn call_matched( &self, _args: List, _ellipsis: List, _stack: &mut CallStack, ) -> EvalResult
fn call_assign( &self, value: Expr, args: ExprList, stack: &mut CallStack, ) -> EvalResult
source§impl CallableClone for PrimitiveQuotewhere
Self: Callable,
impl CallableClone for PrimitiveQuotewhere
Self: Callable,
fn callable_clone(&self) -> Box<dyn Builtin>
source§impl CallableFormals for PrimitiveQuote
impl CallableFormals for PrimitiveQuote
source§impl Clone for PrimitiveQuote
impl Clone for PrimitiveQuote
source§fn clone(&self) -> PrimitiveQuote
fn clone(&self) -> PrimitiveQuote
Returns a copy of the value. Read more
1.0.0 · source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source
. Read moresource§impl Debug for PrimitiveQuote
impl Debug for PrimitiveQuote
source§impl PartialEq for PrimitiveQuote
impl PartialEq for PrimitiveQuote
source§impl Sym for PrimitiveQuote
impl Sym for PrimitiveQuote
impl StructuralPartialEq for PrimitiveQuote
Auto Trait Implementations§
impl Freeze for PrimitiveQuote
impl RefUnwindSafe for PrimitiveQuote
impl Send for PrimitiveQuote
impl Sync for PrimitiveQuote
impl Unpin for PrimitiveQuote
impl UnwindSafe for PrimitiveQuote
Blanket Implementations§
source§impl<T> AsDynCompare for Twhere
T: Any + DynCompare,
impl<T> AsDynCompare for Twhere
T: Any + DynCompare,
fn as_any(&self) -> &(dyn Any + 'static)
fn as_dyn_compare(&self) -> &(dyn DynCompare + 'static)
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
source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
source§unsafe fn clone_to_uninit(&self, dst: *mut T)
unsafe fn clone_to_uninit(&self, dst: *mut T)
🔬This is a nightly-only experimental API. (
clone_to_uninit
)source§impl<T> DynCompare for T
impl<T> DynCompare for T
fn dyn_eq(&self, other: &(dyn DynCompare + 'static)) -> bool
source§impl<T> Format for Twhere
T: Sym,
impl<T> Format for Twhere
T: Sym,
fn rfmt_call_with(&self, _state: FormatState, args: &ExprList) -> String
fn rfmt_with(&self, _: FormatState) -> String
fn rfmt_infix(s: &str, args: &ExprList) -> Stringwhere
Self: Sized,
fn rfmt_infix_with(s: &str, _state: FormatState, args: &ExprList) -> Stringwhere
Self: Sized,
fn rfmt(&self) -> String
fn rfmt_call(&self, args: &ExprList) -> String
source§impl<T> IntoEither for T
impl<T> IntoEither for T
source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts
self
into a Left
variant of Either<Self, Self>
if into_left
is true
.
Converts self
into a Right
variant of Either<Self, Self>
otherwise. Read moresource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts
self
into a Left
variant of Either<Self, Self>
if into_left(&self)
returns true
.
Converts self
into a Right
variant of Either<Self, Self>
otherwise. Read more