> On Nov 12, 2017, at 8:47 AM, lille stor <lille.s...@gmx.com> wrote:
> 
> Hi,
> 
> Given the following R code:
> 
>     library(pryr)
> 
>     data <- array(dim = c(5))
> 
>     for(x in 1:5)
>     {
>          data[x] <- as.integer(x * 2)
>     }
> 
>     add = address(data) # save address of "data"
> 
>     for(x in 1:5)
>     {
>          data[x] <- as.integer(0)
>     }
> 
>     if (add == address(data))
>     {
>        print("Address did not change")
>     }
>     else
>     {
>        print("Address changed")
>     }
> 
> If one runs this code, message "Address changed" is printed. However, if one 
> comments line "data[x] <- as.integer(0)" the address of "data" does not 
> change and message "Address did not change" is printed instead. Why? The 
> datatype of the array should not change with this line and hence no need for 
> R to convert the array to a different type (and have the array's address 
> changing in the process).

I'm guessing you didn't take note of the error message:

>     else
Error: unexpected 'else' in "    else"

It's always good practice to investigate errors. The else function needs to 
come immediately after the "{".

Here's a more complete test of what I take to be your question:

library(pryr)

data <- array(dim = c(5))
add = address(data)
    for(x in 1:5)
    {
         data[x] <- as.integer(x * 2)
    }
 if (add == address(data))
    {
       print("Address did not change")
    } else {
       print("Address changed")
    }


data <- array(dim = c(5))   # reset
add = address(data)
    for(x in 1:5)
    {
         data[x] <- as.integer(0)
    }

    if (add == address(data))
    {
       print("Address did not change")
    } else {
       print("Address changed")
    }

# changes in both situations.


> 
> Thank you!
> 
> ______________________________________________
> R-devel@r-project.org mailing list
> https://stat.ethz.ch/mailman/listinfo/r-devel

David Winsemius
Alameda, CA, USA

'Any technology distinguishable from magic is insufficiently advanced.'   
-Gehm's Corollary to Clarke's Third Law

______________________________________________
R-devel@r-project.org mailing list
https://stat.ethz.ch/mailman/listinfo/r-devel

Reply via email to