[Rd] SOLVED: creating namespaces outside packages
Rainer M Krug
Rainer at krugs.de
Fri Mar 28 13:42:29 CET 2014
Duncan Murdoch <murdoch.duncan at gmail.com> writes:
> On 28/03/2014, 7:01 AM, Rainer M Krug wrote:
>> I would like to use namespaces outside packages, but I could not find
>> any references on how to do it (only a thread  which says "use a
>> package"). Using a package is not possible in my case, as I am passing
>> variables from org-mode / emacs to R and would like to avoid name
>> clashes. This is a dynamic process, and each time the code is evaluated,
>> the variable can be different.
>> I am putting them at the moment into an environment which is locked, but
>> I would like to avoid name clashes, so the idea of using environments.
>> So: is there a way to create a namespace and populate it as I can do
>> with an environment?
> I don't know what you think is the difference between a namespace and
> an environment. I would say a namespace is one of the environments
> associated with a package, i.e. it's just an environment in a
> particular context.
> So depending on what you are trying to accomplish, it may be fine to
> just set up an environment. Why do you think that won't work?
An environment is what I use at the moment, but there is one aspect I
was not happy with: accessing the original value in the environment when
it is overwritten in a higher environment in the search path. But then I
discovered then notation of using $:
| env <- new.env()
| assign("value", 99, env)
| value <- FALSE
So I can access the original value. I only thought initially about
the :: (or is it :::) to access the objects in a namespace, which do not
work for an environment.
So: Different solution and works perfectly.
> Duncan Murdoch
Rainer M. Krug
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Size: 494 bytes
Desc: not available
More information about the R-devel