Struct wolfram_expr::symbol::Context
source · pub struct Context(_);Expand description
Wolfram Language context.
Examples: System`, Global`, MyPackage`Utils`, etc.
Implementations§
source§impl Context
impl Context
sourcepub fn new(input: &str) -> Self
pub fn new(input: &str) -> Self
Construct a context from input.
Panics
This function will panic if input is not a valid Wolfram Language context.
Context::try_new(input) must succeed.
This method is intended to be used for convenient construction of contexts from string literals, where an error is unlikely to occur, e.g.:
use wolfram_expr::symbol::Context;
let context = Context::new("MyPackage`");If not using a string literal as the argument, prefer to use Context::try_new
and handle the error condition.
sourcepub fn join(&self, name: SymbolNameRef<'_>) -> Context
pub fn join(&self, name: SymbolNameRef<'_>) -> Context
Construct a new Context by appending a new context component to this
context.
use wolfram_expr::symbol::{Context, SymbolName, SymbolNameRef};
let context = Context::from_symbol_name(&SymbolName::try_new("MyContext").unwrap());
let private = context.join(SymbolNameRef::try_new("Private").unwrap());
assert!(private.as_str() == "MyContext`Private`");sourcepub fn components(&self) -> Vec<SymbolNameRef<'_>>
pub fn components(&self) -> Vec<SymbolNameRef<'_>>
Return the components of this Context.
use wolfram_expr::symbol::Context;
let context = Context::new("MyPackage`Sub`Module`");
let components = context.components();
assert!(components.len() == 3);
assert!(components[0].as_str() == "MyPackage");
assert!(components[1].as_str() == "Sub");
assert!(components[2].as_str() == "Module");sourcepub fn as_context_ref(&self) -> ContextRef<'_>
pub fn as_context_ref(&self) -> ContextRef<'_>
Get a borrowed ContextRef from this Context.
sourcepub fn from_symbol_name(name: &SymbolName) -> Self
pub fn from_symbol_name(name: &SymbolName) -> Self
Create the context name`.
Trait Implementations§
source§impl Ord for Context
impl Ord for Context
source§impl PartialOrd<Context> for Context
impl PartialOrd<Context> for Context
1.0.0 · source§fn le(&self, other: &Rhs) -> bool
fn le(&self, other: &Rhs) -> bool
This method tests less than or equal to (for
self and other) and is used by the <=
operator. Read more