Struct r::callable::primitive::PrimitiveEval
source · pub struct PrimitiveEval;
Expand description
Evaluate Code in an Environment
Evaluates a language object in a specified environment.
§In-Language
§Usage
eval(x, envir)
§Arguments
x
: Quoted code to evaluate.
envir
: An environment in which to evaluate the expression.
§Examples
Evaluate code as though it were executed in the current environment.
x <- 1; y <- 2
eval(quote(x + y))
Or specify another environment in which to search for symbols during evaluation.
f <- fn() { x <- 10; y <- 2; environment() }
eval(quote(x * y), f())
Trait Implementations§
source§impl Builtin for PrimitiveEval
impl Builtin for PrimitiveEval
source§impl Callable for PrimitiveEval
impl Callable for PrimitiveEval
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 PrimitiveEvalwhere
Self: Callable,
impl CallableClone for PrimitiveEvalwhere
Self: Callable,
fn callable_clone(&self) -> Box<dyn Builtin>
source§impl CallableFormals for PrimitiveEval
impl CallableFormals for PrimitiveEval
source§impl Clone for PrimitiveEval
impl Clone for PrimitiveEval
source§fn clone(&self) -> PrimitiveEval
fn clone(&self) -> PrimitiveEval
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 PrimitiveEval
impl Debug for PrimitiveEval
source§impl PartialEq for PrimitiveEval
impl PartialEq for PrimitiveEval
source§impl Sym for PrimitiveEval
impl Sym for PrimitiveEval
impl StructuralPartialEq for PrimitiveEval
Auto Trait Implementations§
impl Freeze for PrimitiveEval
impl RefUnwindSafe for PrimitiveEval
impl Send for PrimitiveEval
impl Sync for PrimitiveEval
impl Unpin for PrimitiveEval
impl UnwindSafe for PrimitiveEval
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