Message-ID: <19660.11493.678897.477117@max.nulle.part>
Date: 2010-10-30T14:34:13Z
From: Dirk Eddelbuettel
Subject: [Rcpp-devel] Accessing T of RcppVector<T>
In-Reply-To: <AANLkTimCH=xLWgSevsxjwmnCxXzQckri-DN8_P8D65Vd@mail.gmail.com>
On 30 October 2010 at 13:02, Johannes Egner wrote:
| > The background: forwarding the cout-stream in Dirk's example to R as below
| > doesn't work in the R-GUI on Windows (or in an IDE such as Eclipse); but it
| > does work if one runs an R session from the command line (that is, within
| > the console -- no surprise that the stream is correctly forwarded).
| >
|
| I was imprecise here: it does work using the Rterm connector in
| Eclipse/StatET, but not with the RJ-connector. (For those who use this IDE.)
|
| It seems to boild down to contingent (and annoying) implementation details
| that are far beyond Rcpp's control -- I suspect my question really doesn't
| belong here.
I would agree :) Rcpp does not special here --- we not define or redefine
anything related to input/output.
And the "Writing R Extensions" manual clearly states it:
5.6 Interfacing C++ code
========================
[...]
Using C++ iostreams, as in this example, is best avoided. There is
no guarantee that the output will appear in the R console, and indeed it
will not on the R for Windows console. Use R code or the C entry points
(*note Printing::) for all I/O if at all possible.
so the line you were referring to actually came from simple debugging output,
and was authored by Sebastian to whom I replied with a fix.
So in short: if you must print, use Rprintf, or REprintf for stderr, as
detailed in section "6.5 Printing" of Writing R Extensions.
Regards, Dirk
--
Dirk Eddelbuettel | edd at debian.org | http://dirk.eddelbuettel.com