On Tuesday 22 May 2007 4:58 pm, Duncan Murdoch wrote: > On 22/05/2007 4:01 PM, Vladimir Dergachev wrote: > > On Tuesday 22 May 2007 3:52 pm, Duncan Murdoch wrote: > >> On 5/22/2007 1:59 PM, Oleg Sklyar wrote: > > > > I second that. My favorite implementation of this is in Tcl, where curly > > braces {} mean that the text they enclose is unmodified. Since language > > constructs using them are normally balanced this is not an impediment. > > That wouldn't work in R, because the parser couldn't tell whether > > { a }
One easy workaround is to have string{ ... } construct - it should be very easy to parse string{ differently from { alone. > > was a block of code or a quoted string. > > > One extremely useful application of this (aside from long strings) is > > specifying inline data frames - I don't know how to do this otherwise. > > > > I.e. something like: > > > > A<- scan.string({# > > Id Value Mark > > 1 a 3 > > 2 b 4 > > # }) > > When your data doesn't contain quote marks, you can just use regular > quotes to do that. I don't know of a scan.string function, but this works: > > A <- read.table(textConnection("# > Id Value Mark > 1 a 3 > 2 b 4 > #"), head = TRUE) Cool, thank you ! > > I think DTL's suggestion would be most useful when putting a lot of code > in a string, where the escapes make the code harder to read. For > example, just about any function using a complicated regular expression. Also anything using .Tcl(). Quotes in data frame definition are useful because they could be employed to delimit text fields with spaces in them. best Vladimir Dergachev ______________________________________________ R-devel@r-project.org mailing list https://stat.ethz.ch/mailman/listinfo/r-devel