2017-09-12 7 views
0

ある関数から別のネストされた関数割り当て環境にオブジェクトを渡したい。 以下は動作しないコードのサンプルです。関数内に環境を割り当てることで、これはどのように起こりますか?環境を使用してネストされた関数にオブジェクトを渡す

sumi <- function(x,y) { 
    my.env <- new.env() 

    my.env$rumi <- function() { 
     my.env$k <- x[1] 
     my.env$f <- y[1] 
    } 
    k <- get("k", my.env) 
    f <- get("f", my.env) 
    z <- k+f 
    return(z) 
} 

答えて

0

コードが定義されますが、その後rumiを実行したことがないので、実行する場合、それが作成されていたオブジェクトがありません。行を追加する

は、それが動作###マーク:

sumi <- function(x,y) { 
    my.env <- new.env() 

    my.env$rumi <- function() { 
     my.env$k <- x[1] 
     my.env$f <- y[1] 
    } 
    my.env$rumi() ### 
    k <- get("k", my.env) 
    f <- get("f", my.env) 
    z <- k+f 
    return(z) 
} 
sumi(1, 2) 
## [1] 3 
関連する問題