From the help:

     Not all modes are applicable to all connections: for example URLs
     can only be opened for reading.

You omitted to tell us your platform (and requests to include that and not send HTML mail are in the posting guide), and pipe() differs by platform. But AFAIR pipe() is one-way in all implementations.

On Wed, 29 Jul 2009, Markus Loecher wrote:

Dear fellow R users,
I would very much like to see an example of read/write connection (open =
"r+" ) for e.g. pipe() or any other R connection.

There is an example for file() on the very same help page!

I have a standalone program which accepts input from stdin, performs some
processing and returns the results on stdout. Is it possible at all to open
a connection to that program, write to it (i.e. to stdin of that process)
and read back the results ?

Not with a conventional pipe: look up your undisclosed OS's documentation for what a pipe is. E.g. mine says

  The pipe() function creates a pipe (an object that allows
  unidirectional data flow) and allocates a pair of file descriptors.
  The first descriptor connects to the read end of the pipe; the
  second connects to the write end.

Note *unidirectional*. However 'man popen' mentions 'bidirectional pipes' on Mac OS X (but not on Linux).

You can probably use system() to do what you ask, including the 'silly example'.

As a silly example, imagine the following use of the Unix function head:

zz <- pipe(" head ", open ="r+");
cat(rnorm(10), file = zz);

Error in cat(rnorm(10), file = zz) : cannot write to this connection

While I am not surprised that this does not work, I would love to know a
solution to this general problem.

Thanks

Markus

        [[alternative HTML version deleted]]

--
Brian D. Ripley,                  rip...@stats.ox.ac.uk
Professor of Applied Statistics,  http://www.stats.ox.ac.uk/~ripley/
University of Oxford,             Tel:  +44 1865 272861 (self)
1 South Parks Road,                     +44 1865 272866 (PA)
Oxford OX1 3TG, UK                Fax:  +44 1865 272595

______________________________________________
R-help@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.

Reply via email to