Jan van der Laan
2011-Sep-15 12:16 UTC
[R] odfWeave: Combining multiple output statements in a function
What is the correct way to combine multiple calls to odfCat, odfItemize, odfTable etc. inside a function? As an example lets say I have a function that needs to write two paragraphs of text and a list to the resulting odf-document (the real function has much more complex logic, but I don't think thats relevant). My first guess would be: exampleOutput <- function() { odfCat("This is the first paragraph") odfCat("This is the second paragraph") odfItemize(letters[1:5]) } However, calling this function in my odf-document only generates the last list as only the output of the odfItemize function is returned by exampleOutput. How do I combine the three results into one to be returned by exampleOutput? I tried to wrap the calls to the odf* functions into a print statement: exampleOutput2 <- function() { print(odfCat("This is the first paragraph")) print(odfCat("This is the second paragraph")) print(odfItemize(letters[1:5])) } In another document this seemed to work, but in my current document strange odf-output is generated. Regards, Jan
Max Kuhn
2011-Sep-15 14:47 UTC
[R] odfWeave: Combining multiple output statements in a function
There are examples in the package directory that explain this. On Thu, Sep 15, 2011 at 8:16 AM, Jan van der Laan <rhelp at eoos.dds.nl> wrote:> > What is the correct way to combine multiple calls to odfCat, odfItemize, > odfTable etc. inside a function? > > As an example lets say I have a function that needs to write two paragraphs > of text and a list to the resulting odf-document (the real function has much > more complex logic, but I don't think thats relevant). My first guess would > be: > > exampleOutput <- function() { > ? odfCat("This is the first paragraph") > ? odfCat("This is the second paragraph") > ? odfItemize(letters[1:5]) > } > > However, calling this function in my odf-document only generates the last > list as only the output of the odfItemize function is returned by > exampleOutput. How do I combine the three results into one to be returned by > exampleOutput? > > I tried to wrap the calls to the odf* functions into a print statement: > > exampleOutput2 <- function() { > ? print(odfCat("This is the first paragraph")) > ? print(odfCat("This is the second paragraph")) > ? print(odfItemize(letters[1:5])) > } > > In another document this seemed to work, but in my current document strange > odf-output is generated. > > Regards, > > Jan > > ______________________________________________ > 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. >-- Max