On Tue, 2011-07-26 at 15:19 -0700, Davor Cubranic wrote: > On 2011-07-23, at 5:57 AM, Alireza Mahani wrote: > > > Another trick to reduce verbosity of code (and focus on algorithm logic > > rather than boilerplate code) is to maintain a global copy of variables (in > > the global environment) which makes them visible to all functions (where > > appropriate, of course). Once the development and testing is finished, one > > can tidy things up and modify the function prototypes, add lines for > > unpacking lists inside functions, etc. > > I think you'd be better off to stay away from such tricks. It's asking for > trouble later on, because unless you have really good unit tests it is very > easy to miss a variable during "tidying up" and end up with code that works > fine in your development environment but is full of bugs once you distribute > it to others.
Isn't this specifically one of the things that environment are *for*? Have your package/script/functions create an environment, and store 'loose variables' there. Use get/assign to manage. Don't clutter .GlobalEnv. -- Brian ______________________________________________ R-devel@r-project.org mailing list https://stat.ethz.ch/mailman/listinfo/r-devel