Yes, this is intended behavior, and it has everything to do with where the parameters are first referenced and nothing to do with debugging. -- Sent from my phone. Please excuse my brevity.
On September 2, 2017 10:22:22 AM PDT, Matthias Gondan <matthias-gon...@gmx.de> wrote: >Dear R developers, > >sessionInfo() below > >Please have a look at the following two versions of the same function: > >1. Intended behavior: > >> Su1 = function(u=100, l=u, mu=0.53, sigma2=4.3^2) >+ { >+ print(c(u, l, mu)) # here, l is set to u’s value >+ u = u/sqrt(sigma2) >+ l = l/sqrt(sigma2) >+ mu = mu/sqrt(sigma2) >+ print(c(u, l, mu)) >+ } >> >> Su1() >[1] 100.00 100.00 0.53 >[1] 23.2558140 23.2558140 0.1232558 > >In the first version, both u and l are correctly divided by 4.3. > >2. Strange behavior: > >> Su2 = function(u=100, l=u, mu=0.53, sigma2=4.3^2) >+ { >+ # print(c(u, l, mu)) >+ u = u/sqrt(sigma2) >+ l = l/sqrt(sigma2) # here, l is set to u’s value >+ mu = mu/sqrt(sigma2) >+ print(c(u, l, mu)) >+ } >> >> Su2() >[1] 23.2558140 5.4083288 0.1232558>In the second version, the print >function is commented out, so the variable u is >copied to l (lowercase L) at a later place, and L is divided twice by >4.3. > >Is this behavior intended? It seems strange that the result depends on >a debugging message. > >Best wishes, > >Matthias>>>> sessionInfo() >R version 3.4.1 (2017-06-30) >Platform: x86_64-w64-mingw32/x64 (64-bit) >Running under: Windows >= 8 x64 (build 9200) > >Matrix products: default > >locale: >[1] LC_COLLATE=German_Germany.1252 LC_CTYPE=German_Germany.1252 >LC_MONETARY=German_Germany.1252 >[4] LC_NUMERIC=C LC_TIME=German_Germany.1252 > >attached base packages: >[1] stats graphics grDevices utils datasets methods base > > >loaded via a namespace (and not attached): >[1] compiler_3.4.1 tools_3.4.1 > > > [[alternative HTML version deleted]] > >______________________________________________ >R-help@r-project.org mailing list -- To UNSUBSCRIBE and more, see >https://stat.ethz.ch/mailman/listinfo/r-help >PLEASE do read the posting guide >http://www.R-project.org/posting-guide.html >and provide commented, minimal, self-contained, reproducible code. ______________________________________________ R-help@r-project.org mailing list -- To UNSUBSCRIBE and more, see https://stat.ethz.ch/mailman/listinfo/r-help PLEASE do read the posting guide http://www.R-project.org/posting-guide.html and provide commented, minimal, self-contained, reproducible code.