[R] Detecting incomplete commands
Philippe Grosjean
phgrosjean at sciviews.org
Thu Dec 16 15:50:00 CET 2004
Thank you Thomas for your answer. This is of course what I intend to do
(indeed, to use a tryCatch(), instead of I try(). However, I would like to
have a different behaviour depending if the synthax is incorrect "ls())" for
instance, or incomplete "ls(" for instance. Indeed, exactly like the
distinction made at the command line:
> ls()) # This generates an error
Error: syntax error
> ls( # This is not an error, but a multiline command
+
If you use parse() within a try(), you got the same error message in both
cases: "Error in parse(file, n, text, prompt) : parse error". So, it is not
possible to discriminate between the two situation in this context. Is it a
way to cope with that?
Best,
Philippe Grosjean
> -----Original Message-----
> From: r-help-bounces at stat.math.ethz.ch
> [mailto:r-help-bounces at stat.math.ethz.ch] On Behalf Of Thomas Petzoldt
> Sent: Thursday, December 16, 2004 3:18 PM
> To: phgrosjean at sciviews.org
> Cc: r-help at stat.math.ethz.ch
> Subject: Re: [R] Detecting incomplete commands
>
> Philippe Grosjean wrote:
> > Hello,
> >
> > I need a similar behaviour as with the prompt: asking to complete
> > incomplete R command with eval(parse(text = ....)) Is it a
> way to make
> > the difference between an illegal and an incomplete R command in a
> > string?
> > For instance:
> >
> >
> >>parse(text="ls()")
> >
> > expression(ls())
> >
> > This is fine!
> >
> >
> >>parse(text="ls(")
> >
> > Error in parse(file, n, text, prompt) : parse error
> >
> > This is an incomplete command, and I want to ask to the user for
> > further input (multiline command)
>
> Hello Phillipe,
>
> why not using something like this:
>
> > ok<-try(parse(text="ls("), silent=TRUE) > ok [1] "Error
> in parse(file, n, text, prompt) : parse error\n"
> attr(,"class")
> [1] "try-error"
>
> and then check if "ok" is an expression:
>
> > is.expression(ok)
> FALSE
>
>
> Thomas P.
>
> ______________________________________________
> R-help at stat.math.ethz.ch mailing list
> https://stat.ethz.ch/mailman/listinfo/r-help
> PLEASE do read the posting guide!
> http://www.R-project.org/posting-guide.html
>
>
More information about the R-help
mailing list