[問題] function內部的變數在其他地方也可存取

看板R_Language作者 (呼姆呼姆)時間8年前 (2016/06/12 23:07), 編輯推噓2(207)
留言9則, 5人參與, 最新討論串1/1
[問題類型]: 程式諮詢(我想用R 做某件事情,但是我不知道要怎麼用R 寫出來) [軟體熟悉度]: 使用者(已經有用R 做過不少作品) [問題敘述]: 請簡略描述你所要做的事情,或是這個程式的目的 我自訂一個function,裡面有一個變數,我想在function外面也可以存取的 我用了 a<-function(x){ b<<- x+1 } 然後我想在其他程式碼也可以讀到b這個值,所以我用<<把b存到globe 可是就一直在執行的時候顯示 cannot change value of locked binding for 'b' 這該何解.... -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 118.168.109.194 ※ 文章網址: https://www.ptt.cc/bbs/R_Language/M.1465744034.A.889.html

06/12 23:14, , 1F
建議不要這樣做吧
06/12 23:14, 1F

06/12 23:14, , 2F
不然就要在.GlobalEnv裡面做assign
06/12 23:14, 2F

06/12 23:51, , 3F
其怪的是..我以前用都可以阿? 是新版R有安全設定?
06/12 23:51, 3F

06/12 23:52, , 4F
還是其實你這個function是關在其他的東西裡面?
06/12 23:52, 4F

06/13 00:31, , 5F
結合這篇呢? #1NKziFZK
06/13 00:31, 5F

06/13 00:33, , 6F
x+1 is not value
06/13 00:33, 6F

06/13 00:34, , 7F
Try: a(10); b; a(11); b;
06/13 00:34, 7F

06/13 02:34, , 8F
在 b <<- x+1 前面加個browser()
06/13 02:34, 8F

06/13 02:35, , 9F
執行的時候去看看b是什麼東西吧
06/13 02:35, 9F
文章代碼(AID): #1NNNgYY9 (R_Language)