pub struct Context(/* private fields */);
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 for Context
impl PartialOrd for Context
impl Eq for Context
impl StructuralPartialEq for Context
Auto Trait Implementations§
impl Freeze for Context
impl RefUnwindSafe for Context
impl Send for Context
impl Sync for Context
impl Unpin for Context
impl UnwindSafe for Context
Blanket Implementations§
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