Code Fix

上級 › 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

空欄を埋めて実行を通す

広告
広告スロット(未設定)

environment はベクトルと違い参照渡しのように振る舞う

一方environmentは参照として渡されるため、関数内でその中身を書き換えると呼び出し元のenvironmentにもその変更が反映されます。

このエラーの解説と類題をまとめて見る →

広告
広告スロット(未設定)