Exercises
2. Why are there two copies?
x <- c(1L, 2L, 3L)
tracemem(x)
#> [1] "<0x557c286c78f8>"
x[[3]] <- 4
#> tracemem[0x557c286c78f8 -> 0x557c2b0ca1d8]: eval eval withVisible withCallingHandlers eval eval with_handlers doWithOneRestart withOneRestart withRestartList doWithOneRestart withOneRestart withRestartList doWithOneRestart withOneRestart withRestartList withRestarts <Anonymous> evaluate in_dir in_input_dir eng_r block_exec call_block process_group withCallingHandlers <Anonymous> process_file <Anonymous> <Anonymous> render_cur_session <Anonymous>
#> tracemem[0x557c2b0ca1d8 -> 0x557c2bcea588]: eval eval withVisible withCallingHandlers eval eval with_handlers doWithOneRestart withOneRestart withRestartList doWithOneRestart withOneRestart withRestartList doWithOneRestart withOneRestart withRestartList withRestarts <Anonymous> evaluate in_dir in_input_dir eng_r block_exec call_block process_group withCallingHandlers <Anonymous> process_file <Anonymous> <Anonymous> render_cur_session <Anonymous>
Because we convert an integer vector (using 1L, etc.) to a double vector (using just 4)-
3. What is the relationships among these objects?
a <- obj 1
b <- obj 1, obj 1
c <- b(obj 1, obj 1), obj 1, 1:10