[Rd] LazyLoad changes the class of objects
Gabor Grothendieck
ggrothendieck at gmail.com
Fri Oct 12 09:04:30 CEST 2007
Consider a package that this DESCRIPTION file:
---
Package: tester
Version: 0.1-0
Date: 2007-10-12
Title: Prototype object-based programming
Author: Gabor Grothendieck
Maintainer: Gabor Grothendieck <ggrothendieck at gmail.com>
Description: test
LazyLoad: true
Depends: R (>= 2.6.0)
License: GPL2
---
and a single subdirectory R containing tester.R which contains two lines:
---
e <- new.env()
class(e) <- c("x", "environment")
---
Now issue these commands:
> library(tester)
> class(tester::e)
[1] "environment"
> R.version.string # Windows Vista
[1] "R version 2.6.0 Patched (2007-10-08 r43124)"
Note that the class of e was changed from what we set it to !!!
On the other handn, if we omit LazyLoad: true from the DESCRIPTION file
then it retains its original class.
> # removed LazyLoad: true line from DESCRIPTION and reinstall pkg
> # now its ok
> library(tester)
> class(tester::e)
[1] "x" "environment"
More information about the R-devel
mailing list