Code Fix

上級 › environment はベクトルと違い参照渡しのように振る舞う › パターン1

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

Rのベクトルやリストは関数に渡すと複製され、関数内での変更は呼び出し元に影響しません。

 1  make_counter <- function() {
 2    e <- new.env()
 3    e$value <- 0
 4    e
 5  }
 6  counter1 <- make_counter()
 7  counter2 <- ______________
                       ^
 8  counter2$value <- 10
 9  cat(counter1$value, counter2$value, "\n")
出力: 10 10

空欄を埋めて実行を通す

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

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

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

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

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