上級 › environment はベクトルと違い参照渡しのように振る舞う › パターン5
environment はベクトルと違い参照渡しのように振る舞う
Rのベクトルやリストは関数に渡すと複製され、関数内での変更は呼び出し元に影響しません。
1 make_box <- function() { 2 e <- new.env() 3 e$count <- 0 4 e 5 } 6 box1 <- make_box() 7 box2 <- __________ ^ 8 box2$count <- 3 9 cat(box1$count, box2$count, "\n")
出力: 3 3
空欄を埋めて実行を通す
「Rの値は代入すればコピーされるはず」という思い込みはenvironmentには通用せず、box1とbox2は同じ実体を指し続けます。
次の問題