[Rd] anyway to get R unevaluated expr independent on arguments

2011-04-07 Thread Zheng, Xin (NIH) [C]
Hi there,

Suppose the cmd is a-3, I can parse the cmd sexp with R_ParseVector and eval 
it. My question is - is it possible to parse a cmd like a - ?, afterwards 
evaluation will give corresponding result depend on different argument? In 
other words, '?' is just a placeholder.

Thanks.

Xin


[[alternative HTML version deleted]]

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


Re: [Rd] anyway to get R unevaluated expr independent on arguments

2011-04-07 Thread Simon Urbanek

On Apr 7, 2011, at 5:18 PM, Zheng, Xin (NIH) [C] wrote:

 Hi there,
 
 Suppose the cmd is a-3, I can parse the cmd sexp with R_ParseVector and 
 eval it. My question is - is it possible to parse a cmd like a - ?, 
 afterwards evaluation will give corresponding result depend on different 
 argument? In other words, '?' is just a placeholder.
 

Well, you can use a dummy symbol and replace it later, e.g. parse a - 
`*dummy*` and then before you evaluate you simply replace all occurrences of 
the *dummy* symbol with any value you want. 

That said, we are in a functional language, so you can actually do it more 
natively by using a closure like function(.var1){ a - .var1 }  - that saves 
you the substitution part and is more clean.

Cheers,
Simon

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


Re: [Rd] anyway to get R unevaluated expr independent on arguments

2011-04-07 Thread Zheng, Xin (NIH) [C]
Thank you very much. I learned a lot.

Regards,
Xin

-Original Message-
From: Simon Urbanek [mailto:simon.urba...@r-project.org] 
Sent: Thursday, April 07, 2011 5:42 PM
To: Zheng, Xin (NIH) [C]
Cc: r-devel@r-project.org
Subject: Re: [Rd] anyway to get R unevaluated expr independent on arguments


On Apr 7, 2011, at 5:18 PM, Zheng, Xin (NIH) [C] wrote:

 Hi there,
 
 Suppose the cmd is a-3, I can parse the cmd sexp with R_ParseVector and 
 eval it. My question is - is it possible to parse a cmd like a - ?, 
 afterwards evaluation will give corresponding result depend on different 
 argument? In other words, '?' is just a placeholder.
 

Well, you can use a dummy symbol and replace it later, e.g. parse a - 
`*dummy*` and then before you evaluate you simply replace all occurrences of 
the *dummy* symbol with any value you want. 

That said, we are in a functional language, so you can actually do it more 
natively by using a closure like function(.var1){ a - .var1 }  - that saves 
you the substitution part and is more clean.

Cheers,
Simon

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