On 4/11/2011 8:46 AM, Simon Urbanek wrote:
On Apr 11, 2011, at 11:28 AM, Davor Cubranic wrote:
On 2011-04-09, at 2:08 PM, Ted Harding wrote:
I think the right thing to so is to introduce the students to the
basics of scoping, early in the process of learning R.
I know the basics of scoping perfectly well, but that doesn't stop me from
occasionally misspelling a variable name that only causes an error much later.
OTOH, I think with Perl you can start declaring your variables "local" and keep
the interpreter happy. But in R's context you then have to also start declaring what you
expect to inherit from parent environments, and pretty soon the code is so encrusted with
annotation barnacles that it loses the simplicity that makes R so nice in the
interactive mode.
What would be really nice is if we had a smart R editor/IDE that would "DWIM"
and put a red underline under a misspelled name, but leave it alone when, as Duncan said,
it's in the environment.
... which is, of course, impossible since the editor has no idea what
environment you will evaluate the function in ... It can make assumptions but
they may as wrong as the spurious warnings discussed so people will complain
either way ;)
For the record, my "complaint" stemmed from my inability to see a
way to get rid of that message in that context. In most cases, I've
found that message to be very valuable in identifying latent bugs in
code. In that context, however, the message seemed inappropriate.
Duncan privately suggested I add "LazyData: yes" to the package
DESCRIPTION file. I did that, and the offending message disappeared!
Thanks again to Duncan.
Best Wishes,
Spencer
Cheers,
Simon
______________________________________________
R-devel@r-project.org mailing list
https://stat.ethz.ch/mailman/listinfo/r-devel
--
Spencer Graves, PE, PhD
President and Chief Operating Officer
Structure Inspection and Monitoring, Inc.
751 Emerson Ct.
San José, CA 95126
ph: 408-655-4567
______________________________________________
R-devel@r-project.org mailing list
https://stat.ethz.ch/mailman/listinfo/r-devel