[R] Multi-line paste function

Philippe Grosjean phgrosjean at sciviews.org
Tue Mar 14 20:15:40 CET 2006


I am not sure I clearly understand what you want, but getting the string 
returned by your multi.line.paste() function is straightforward using 
gsub():

gsub("\n", "", "
SELECT *
FROM estimates a, newtable b
WHERE a.Ticker=b.Ticker
AND a.Fiscal_Year=b.Fiscal_Year
AND a.EPS<>b.EPS
AND a.Date_Last_change-1.9>b.Date_Last_change
")

If you really want a custom function for that, then, define:

multi.line.paste <- function(str) gsub("\n", "", str)

Best,

Philippe Grosjean

Lapointe, Pierre wrote:
> Here's my contribution to R.
> 
> When R interacts with external programs (MySQL, cURL, etc.), it often
> requires a pasted string that is sent to these programs. For readability
> reasons, it is often preferable to have complex commands (SQL for example)
> spread on several lines. However, the normal paste function requires to add
> additional ' ", ' at the end of each line and another ' " ' at the beginning
> of each new line.  It becomes fastidious for long commands.
> 
> Multi-line paste function:
> 
> multi.line.paste <-function (..., sep = " ", collapse = NULL) 
> {
>     args <- list(...)
>     if (length(args) == 0) 
>         if (length(collapse) == 0) 
>             character(0)
>         else ""
>     else {
>         for (i in seq(along = args)) args[[i]] <-
> gsub("\n","",as.character(args[[i]]))
>         .Internal(paste(args, sep, collapse))
>     }
> }
> 
> Example with a SQL command on multiple lines:
> 
> multi.line.paste("
> SELECT * 
> FROM estimates a, newtable b 
> WHERE a.Ticker=b.Ticker 
> AND a.Fiscal_Year=b.Fiscal_Year 
> AND a.EPS<>b.EPS 
> AND a.Date_Last_change-1.9>b.Date_Last_change
> ")
> 
> Regards,
> 
> Pierre
> 
> 
> **************************************************
> AVIS DE NON-RESPONSABILITE: Ce document transmis par courrie...{{dropped}}
> 
> ______________________________________________
> 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