1. 学ぶ
  2. /
  3. コース
  4. /
  5. R における S3 と R6 を使ったオブジェクト指向プログラミング

Connected

演習

環境を扱う (2)

多くの種類のRの変数は「値渡し(copy by value)」を使います。つまり、変数をコピーすると、新しい変数は値の独立したコピーを持ちます。この場合、一方の変数を変更しても、もう一方には影響しません。

一方、環境(environment)は「参照渡し(copy by reference)」と呼ばれる別の仕組みを使います。この場合、すべてのコピーは同一になり、どれか一つを変更すると、すべてのコピーに影響します。

豆知識:RNAの塩基はDNAの塩基と少し異なり、A、C、G、Uです。

指示1 / 2

undefined XP
  • 1
    • lst をコピーして lst2 に代入します。
    • lst の bases の4番目の要素を "U" に変更します。
    • identical()(docs)を使って、lst と lst2 の bases 要素が同じかテストします。第1引数に lst$bases、第2引数に lst2$bases を渡します。
  • 2

    環境でも同じことを行います。リストを環境に変換するために list2env() を使う点に注目してください。

    • env をコピーして env2 に代入します。
    • env の bases の4番目の要素を "U" に変更します。
    • identical()(docs)を使って、env と env2 の bases 要素が同じかテストします。