[R] Does R have a "const object"?

Duncan Murdoch murdoch.duncan at gmail.com
Tue Mar 15 21:46:57 CET 2011


On 15/03/2011 2:35 PM, Martin Morgan wrote:
> On 03/15/2011 11:34 AM, Duncan Murdoch wrote:
> >  On 15/03/2011 2:23 PM, Uwe Ligges wrote:
> >>
> >>  On 15.03.2011 15:53, xiagao1982 wrote:
> >>  >  Hi, all,
> >>  >
> >>  >  Does R have a "const object" concept like which is in C++ language?
> >>  I want to set some data frames as constant to avoid being modified
> >>  unintentionally. Thanks!
> >>
> >>
> >>  Although there is almost never a "No" in R, the best short answer is:
> >>  "No".
> >
> >  Very nice answer! Achim, this is a fortune candidate if I ever saw one!
>
> but aren't lockBinding / lockEnvironment a reasonable longer answer? Martin

I think the limitations would also need to be part of the long answer, 
and probably a discussion of environments and scoping rules.  For example,

x <- 1
lockBinding("x", environment())
f <- function() {
   print(x)  # I can see and print the locked variable
   x <- 2      # And change it?  (Not really....)
   print(x)
}
f()  # prints a 1 then a 2

Duncan Murdoch



More information about the R-help mailing list