[R] How to *completely* stop a script after stop()?

Duncan Murdoch murdoch.duncan at gmail.com
Fri Apr 8 18:57:06 CEST 2011


On 08/04/2011 12:40 PM, William Dunlap wrote:
> Put an open brace in the first line of your file
> and a close brace in the last line.

This shares an advantage with the method I suggested:  if there's a 
syntax error somewhere in the script, *nothing* will be executed.  It 
has the disadvantage of not intermixing input and output the way the 
usual cut and paste would do.

Using source("clipboard", echo=TRUE) has a few disadvantages too:

  - lots of typing
  - the automatic colouring of input in red, output in blue is lost
  - run-time error messages are ugly (though syntax errors are presented 
nicely).

It's nearly trivial to fix the first of these (make Ctrl-R do this 
instead); the 2nd one looks harder.

Duncan Murdoch

> I encourage people with scripts long enough that this
> is a problem to divide up their work into functions
> that a shorter script calls.  (This is akin to UCSD
> Pascal on the Osbourne II that refused to deal with
> a function that could not fit onto the tiny screen
> -- it forced you do divide things up into small
> understandable chunks of work.)
>
> Bill Dunlap
> Spotfire, TIBCO Software
> wdunlap tibco.com
>
> >  -----Original Message-----
> >  From: r-help-bounces at r-project.org
> >  [mailto:r-help-bounces at r-project.org] On Behalf Of algorimancer
> >  Sent: Friday, April 08, 2011 8:47 AM
> >  To: r-help at r-project.org
> >  Subject: Re: [R] How to *completely* stop a script after stop()?
> >
> >  I too am encountering this problem.  When I have a large
> >  script, if I select
> >  all in the editor and then ctrl-r to run, if it encounters a
> >  stop() function
> >  it simply prints an error message and continues to execute
> >  the remainder of
> >  the script, as opposed to terminating execution at that line.
> >   The quit()
> >  function exits R altogether, which I don't want.  Yes, I
> >  could manually
> >  select only the portion of script which I want to run, but for lengthy
> >  scripts which I run repeatedly (generally changing only the
> >  name of the file
> >  I want analyzed), this can be quite tedious.  It appears that the only
> >  solution is to put most of the code in a separate file and
> >  call it using
> >  source(); this has the downside of reducing the clarity of
> >  the code -- it's
> >  a sort-of structural spaghetti code approach.
> >
> >  --
> >  View this message in context:
> >  http://r.789695.n4.nabble.com/How-to-completely-stop-a-script-
> >  after-stop-tp3218808p3436704.html
> >  Sent from the R help mailing list archive at Nabble.com.
> >
> >  ______________________________________________
> >  R-help at r-project.org mailing list
> >  https://stat.ethz.ch/mailman/listinfo/r-help
> >  PLEASE do read the posting guide
> >  http://www.R-project.org/posting-guide.html
> >  and provide commented, minimal, self-contained, reproducible code.
> >
>
> ______________________________________________
> R-help at r-project.org mailing list
> https://stat.ethz.ch/mailman/listinfo/r-help
> PLEASE do read the posting guide http://www.R-project.org/posting-guide.html
> and provide commented, minimal, self-contained, reproducible code.



More information about the R-help mailing list