R 全局变量
全局变量
在函数外部创建的变量被称为全局变量。
全局变量可以在函数内外被所有人使用。
实例
在函数外部创建变量并在函数内部使用它:
txt <- "awesome"
my_function <- function() {
paste("R is", txt)
}
my_function()
如果在函数内部创建同名变量,则该变量将是局部变量,并且只能在函数内部使用。具有相同名称的全局变量将保持原样,全局且具有原始值。
实例
在函数内部创建一个与全局变量同名的变量:
txt <- "global variable"
my_function <- function() {
txt = "fantastic"
paste("R is", txt)
}
my_function()
txt # 打印 txt
提示:如果你尝试打印 txt,它将返回 "global variable",因为我们是在函数外部打印 txt。
全局赋值运算符
通常,当您在函数内部创建变量时,该变量是局部变量,并且只能在该函数内部使用。
要在函数内部创建一个全局变量,你可以使用全局赋值运算符 <<-。
实例
如果你使用赋值运算符 <<-,则该变量属于全局范围:
my_function <- function() {
txt <<- "fantastic"
paste("R is", txt)
}
my_function()
print(txt)
同样,如果你想在函数内部更改全局变量,请使用全局赋值运算符。
实例
要在函数内部更改全局变量的值,请使用全局赋值运算符 <<- 引用该变量:
txt <- "awesome"
my_function <- function() {
txt <<- "fantastic"
paste("R is", txt)
}
my_function()
paste("R is", txt)