On Thu, 14 Aug 2014, Michael Haupt wrote:
> Hello,
>
> given that `*tmp*` is removed after a replacement, how can code like this
work? Is there some special handling for a variable named `*tmp*` when it comes
to make element assignments?
>
>> x<-c(1,2)
>> x[1]<-42
>> `*tmp*`[1]<-7 # I would expect this one to fail
>> `*tmp*`
> Error: object '*tmp*' not found
This is a consequence of the tricks the interpreter implementation
currently plays to do complex assignments. Compiled code works
differently:
> library(compiler)
> cmpfun(function() {
+ x<-c(1,2)
+ x[1]<-42
+ `*tmp*`[1]<-7 # I would expect this one to fail
+ })()
Error in cmpfun(function() { : object '*tmp*' not found
luke
>
> Confused greetings,
>
> Michael
>
>
--
Luke Tierney
Chair, Statistics and Actuarial Science
Ralph E. Wareham Professor of Mathematical Sciences
University of Iowa Phone: 319-335-3386
Department of Statistics and Fax: 319-335-3017
Actuarial Science
241 Schaeffer Hall email: luke-tierney at uiowa.edu
Iowa City, IA 52242 WWW: http://www.stat.uiowa.edu