On Dec 26, 2013, at 10:26 PM, Peter Meilstrup <peter.meilst...@gmail.com> wrote:
> 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” > “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 > `test<-`(x, print("evaled arg"), print("evaluated value")) [1] 1 Cheers, Simon ______________________________________________ R-devel@r-project.org mailing list https://stat.ethz.ch/mailman/listinfo/r-devel