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)
自己动手试一试 »