Hello,
As a R user I am a little puzzled by this behaviour:
*julia> ftest = function(x) *
* x[2] = 0 *
* return x*
* end*
*(anonymous function)*
*julia> y = [1,2]*
*2-element Array{Int64,1}:*
* 1*
* 2*
*julia> ftest(y)*
*2-element Array{Int64,1}:*
* 1*
* 0*
*julia> y*
*2-element Array{Int64,1}:*
* 1*
* 0*
In R, this function doesn't modify the variable passed in the argument:
*> f <- function(x){ x[2] <- 0; return(x)}*
*> y=1:2*
*> f(y)*
*[1] 1 0*
*> y*
*[1] 1 2*
Please could you tell me whether this is a good solution :
*ftest = function(x) *
* x = deepcopy(x)*
* x[2] = 0 *
* return x*
*end*