Re: namespaces
- To: mathgroup at smc.vnet.net
- Subject: [mg121545] Re: namespaces
- From: Leonid Shifrin <lshifr at gmail.com>
- Date: Mon, 19 Sep 2011 07:05:27 -0400 (EDT)
- Delivered-to: l-mathgroup@mail-archive0.wolfram.com
- References: <201109180813.EAA06414@smc.vnet.net>
The simplest is probably to wrap the call to Needs in Block, like this:
Block[{$ContextPath = $ContextPath}, Needs["Combinatorica`"]]
The net effect is that the value of $ContextPath is not modified globally while
Combinatorica` loads all right. You can then use the full names for its
functions
as you suggested.
Regards,
Leonid
On Sun, Sep 18, 2011 at 12:13 PM, Alan <alan.isaac at gmail.com> wrote:
> Newbie question (by example):
> How can I access KSubsets (which I believe is only in Combinatorica)
> without hiding the kernel's graph functions? (I.e., I would like to be able
> access the Combinatorica functions *only* when I specify e.g.
> Combinatorica`KSubsets, so that if e.g. I just use the short name Graph
> this refers to System`Graph.
>
> So I don't want to say e.g.
> Needs["Combinatorica`"]
> because then I cannot just use Graph to refer to System`Graph.
>
> Ideally, I'd like an equivalent to a name import from a Python package
> (e.g., ``from mypackage import myfunction``).
>
> Short of that, I thought about reordering the $ContextPath, but I'm not
> sure this is a good idea (or how to do it correctly).
>
> Hope that's clear enough.
>
> Thanks,
> Alan Isaac
>
>
- References:
- namespaces
- From: Alan <alan.isaac@gmail.com>
- namespaces