Skip to content

RHS of assignment is evaluated eagerly?

2 messages · Peter Meilstrup, Simon Urbanek

#
Is this expected behavior, and if so, why? I would have expected
neither 'arg' nor 'value' to evaluate until forced.

`test<-` <- function(obj, arg, value) {
  1 #force no args
}
x <- 1
test(x, print("evaled arg")) <- print("evaluated value")

## [1] "evaluated value"

Peter
#
On Dec 26, 2013, at 10:26 PM, Peter Meilstrup <peter.meilstrup at gmail.com> wrote:

            
?Use the source, Luke?:

    /*  It's important that the rhs get evaluated first because                                                                       
        assignment is right associative i.e.  a <- b <- c is parsed as                                                                
        a <- (b <- c).  */

Compare to
[1] 1

Cheers,
Simon