[R] character strings with embedded commands: perl "/gee" ?

ivo welch ivo.welch at anderson.ucla.edu
Sat Feb 9 01:01:28 CET 2013


dear R experts---I am trying to replicate a perl feature. I want to be
able to embed R commands inside a character string, and have the
string be printed with the command executed.  my perl equivalent is

  my $a=10;
  my $teststring = "the expression, $a+1, is ::$a+1::, but add one
more for ::$a+2::\n";
  $teststring =~ s/::(.*?)::/$1/gee;
  print $teststring;

of course, R does not use '$' for variable names.  my ultimate goal is
to write something like

  cat("d is a ::class(d):: with names ::names(d)::")

of course, I know I can write this as cat("d is a", class(d), "with
names", names(d)), but I also want to be define %or% so that I can
write

  (is.data.frame(d)) %or% "d is a ::class(d):: with names ::names(d)::" ;

operators don't take variable arguments afaik.  :-(.

advice appreciated.

regards,

/iaw
----
Ivo Welch (ivo.welch at gmail.com)



More information about the R-help mailing list