問題タブ [r-environment]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
2 に答える
46 参照

r - グローバル環境とは異なるスクリプト環境を設定する

R には大まかに関連するデータ分析スクリプトがいくつかあります。これらのスクリプトの一部には、実行後に機密情報を消去するために、グローバル環境からすべての変数を削除するコードが含まれています。他のスクリプトには、他のスクリプトと同じ変数名が付けられているため、重要な変数が上書きされます。

変数と関数がグローバル環境に直接保存されないように、スクリプト/R ファイル全体を別の環境に設定できるようにしたいと考えています。これは、スクリプトが source() 関数を介して別のスクリプトから呼び出された場合に実行できることを理解しています。ただし、スクリプト自体に環境を作成し、スクリプト全体 (数千行) ですべての変数と関数をグローバル環境ではなくその環境に保存する方法はありますか?

0 投票する
1 に答える
25 参照

r - rlang の env_get での継承が、祖父母環境でバインディングを認識していないようです

次の例では、 を使用して祖父母環境から要素を取得しようとしていますenv_get。最初のビットは期待どおりに機能します。

reprex パッケージ(v2.0.1)により 2021-12-28 に作成

への呼び出しがhasであるためexecgwithを呼び出す 2 番目のビットが機能することを期待していました。私の理解では、 を見て、何も見つけられず、その親を見て を見つけましたが、これはうまくいきませんでした。これについて私をさらに混乱させるのは、2 レベル上を検索するように明示的に指示すると、これが機能することです。.env=e1env_getinherit=TRUEcaller_env"a"env_get

この継承がどのように機能するかについて誤解していますか?