R Global 全局变量

全局变量

在函数之外创建的变量称为global全局变量。

每个人都可以使用全局变量,无论是函数内部还是外部。

实例

在函数外部创建变量,并在函数内部使用:

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,它将返回"全局变量",因为我们正在打印 txt 在函数之外。



全局赋值运算符

通常,当您在函数内部创建变量时,该变量是局部的,并且只能在该函数内部使用。

要在函数内部创建全局变量,可以使用全局赋值运算符<<-

实例

如果使用赋值运算符<<-,则变量属于全局作用域:

my_function <- function() {
txt <<- "fantastic"
  paste("R is", txt)
}

my_function()

print(txt)
亲自试一试 »

此外,如果您想更改函数内的全局变量,请使用 global 赋值运算符:

实例

要更改函数内部的全局变量的值,请使用全局赋值运算符引用该变量<<-:

txt <- "awesome"
my_function <- function() {
  txt <<- "fantastic"
  paste("R is", txt)
}

my_function()

paste("R is", txt)
亲自试一试 »