猿问

R中的全局变量和局部变量

R中的全局变量和局部变量

我是R的新手,我对R中局部变量和全局变量的使用感到困惑。

我在互联网上阅读了一些帖子,说如果我使用=或者<-我将在当前环境中分配变量,并且<<-我可以在函数内部访问全局变量。

但是,正如我记得在C ++中,只要你在括号内声明一个变量就会出现局部变量{},所以我想知道这对于R来说是否相同?或者仅仅是R中的函数我们有局部变量的概念。

我做了一个小实验,这似乎表明只有括号是不够的,我有什么不对吗?

{
   x=matrix(1:10,2,5)}print(x[2,2])[1] 4


月关宝盒
浏览 2479回答 3
3回答

慕哥9229398

沿着相同的路线多一点attrs&nbsp;<-&nbsp;{}attrs.a&nbsp;<-&nbsp;1f&nbsp;<-&nbsp;function(d)&nbsp;{ &nbsp;&nbsp;&nbsp;&nbsp;attrs.a&nbsp;<-&nbsp;d}f(20)print(attrs.a)将打印“1”attrs&nbsp;<-&nbsp;{}attrs.a&nbsp;<-&nbsp;1f&nbsp;<-&nbsp;function(d)&nbsp;{ &nbsp;&nbsp;&nbsp;attrs.a&nbsp;<<-&nbsp;d}f(20)print(attrs.a)将打印“20”
随时随地看视频慕课网APP
我要回答