2012-02-11 10 views
-1

を表示します。 hとgはともにfで定義されています。私が考えた解決策は、環境を定義することですe1とv1を置くことです。 しかし、これは動作していません、私はls(e1)を実行すると文字(0)を取得し、私は理由を知らない。R:私は機能<strong>時間</strong>が<strong>V1</strong>変数が関数<strong>グラム</strong>で定義されて見ることができますどのようにお願いしたいローカル変数

e1 <- new.env() 
f <- function(){ 
    g <- function(){ 
     e1$v1 <- 5 
    } 
    h <- function(){ 
     print(e1$v1) 
    } 
    h() 
} 
f() 

あなたが実際に機能g()を実行することはありません事前

答えて

2

でいただきありがとうございます。 h()の直前にg()を追加してください。

(私は将来、この質問を見つける人々の利益のために、Rの自然なスコープの振る舞いを再現するこの種のものは危険なものです。注意!)

+0

あなたは正しいです。大いに感謝する –

関連する問題

 関連する問題