I don't think it is reasonable to change the parser this way. This is currently valid R code:
a <- "foo" "bar" and with the new syntax, it is also valid, but with a different meaning. Or you can even consider a <- "foo" bar %>% func() %>% print() etc. I like the idea of string literals, but the C/C++ way clearly does not work. The Python/Julia way might, i.e.: """this is a multi-line lineral""" Gabor On Wed, Jun 14, 2017 at 4:12 PM, William Dunlap via R-devel <r-devel@r-project.org> wrote: > If you are changing the parser (which is a major change) you > might consider treating strings in the C/C++ way: > char *s = "A" > "B"; > means the same as > char *s = "AB"; > > I am not a big fan of that syntax but it is widely used. > > A backslash at the end of the line leads to errors when you accidently > put a space after the backslash and the editor doesn't flag it. > > Bill Dunlap > TIBCO Software > wdunlap tibco.com > > On Wed, Jun 14, 2017 at 3:58 AM, Andreas Kersting <r-de...@akersting.de> > wrote: > >> Hi, >> >> I would really like to have a way to split long string literals across >> multiple lines in R. >> >> Currently, if a string literal spans multiple lines, there is no way to >> inhibit the introduction of newline characters: >> >> > "aaa >> + bbb" >> [1] "aaa\nbbb" >> >> >> If a line ends with a backslash, it is just ignored: >> >> > "aaa\ >> + bbb" >> [1] "aaa\nbbb" >> >> >> We could use this fact to implement string splitting in a fairly >> backward-compatible way, since currently such trailing backslashes should >> hardly be used as they do not have any effect. The attached patch makes the >> parser ignore a newline character directly following a backslash: >> >> > "aaa\ >> + bbb" >> [1] "aaabbb" >> >> >> I personally would also prefer if leading blanks (spaces and tabs) in the >> second line are ignored to allow for proper indentation: >> >> > "aaa \ >> + bbb" >> [1] "aaa bbb" >> >> > "aaa\ >> + \ bbb" >> [1] "aaa bbb" >> >> This is also implemented by this patch. >> >> >> An alternative approach could be to have something like >> >> ("aaa " >> "bbb") >> >> or >> >> ("aaa ", >> "bbb") >> >> be interpreted as "aaa bbb". >> >> I don't know the ins and outs of the parser of R (hence: please very >> carefully review the attached patch), but I guess this would be more work >> to implement!? >> >> >> What do you think? Is there anybody else who is missing this feature in >> the first place? >> >> Regards, >> Andreas >> >> ______________________________________________ >> R-devel@r-project.org mailing list >> https://stat.ethz.ch/mailman/listinfo/r-devel >> > > [[alternative HTML version deleted]] > > ______________________________________________ > R-devel@r-project.org mailing list > https://stat.ethz.ch/mailman/listinfo/r-devel ______________________________________________ R-devel@r-project.org mailing list https://stat.ethz.ch/mailman/listinfo/r-devel