On 2011-01-23, at 4:34 AM, Gabor Grothendieck wrote:

> On Sun, Jan 23, 2011 at 6:56 AM, Vitalie S. <spinuvit.l...@gmail.com> wrote:
>> Gabor Grothendieck <ggrothendi...@gmail.com> writes:
>> 
>>> Also the gsubfn supports quasi perl style string interpolation that
>>> can sometimes be used to avoid the use of paste in the first place.
>>> Just preface the function in question by fn$ like this:
>>> 
>>> library(gsubfn)
>>> fn$cat("pi = $pi\n")
>> 
>> Thanks for the tip. Not bad indeed.
>> Almost as readable as
>> 
>> cat("pi = " + pi + "\n")
> 
> To me the + can be substantially less readable.  The need to
> repeatedly quote everything makes it just as bad as paste.  Compare
> the following and try to figure out if there is an error in quoting in
> the + and paste solutions.  Trying to distinguish the single and
> double quotes is pretty difficult but simple in the fn$ and sprintf
> solutions.  Even if there were no quotes the constant need to
> interpose quotes makes it hard to read.

That may be a matter of taste, but FWIW it seems that shell-style string 
interpolation (using the dollar prefix) has going out of style in recent 
scripting languages. Ruby uses the expression substitution construct 
("#{expr}"), while Python has "str.format", both allowing arbitrary expressions.

And most editors have syntax highlighting that distinguishes strings from other 
program elements. This makes quoting errors pretty obvious.

Davor
______________________________________________
R-devel@r-project.org mailing list
https://stat.ethz.ch/mailman/listinfo/r-devel

Reply via email to