R 语言全局变量

全局变量

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

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

实例

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

  1. txt <- "awesome"
  2. my_function <- function() {
  3. paste("R is", txt)
  4. }
  5. my_function()

如果在函数内创建同名变量,则该变量将是局部变量,只能在函数内使用。具有相同名称的全局变量将保持原样,全局变量还是原值。

实例

在函数内部创建一个与全局变量同名的变量:

  1. txt <- "global variable"
  2. my_function <- function() {
  3. txt = "fantastic"
  4. paste("R is", txt)
  5. }
  6. my_function()
  7. txt # print txt
如果您尝试打印 txt,它将返回 "global variable" 全局变量,因为我们在函数外部打印 txt。

全局赋值运算符

通常,在函数中创建变量时,该变量是局部变量,只能在该函数中使用。

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

实例

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

  1. my_function <- function() {
  2. txt <<- "fantastic"
  3. paste("R is", txt)
  4. }
  5. my_function()
  6. print(txt)

此外,如果要更改函数中的全局变量,请使用 全局 赋值运算符:

实例

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

  1. txt <- "awesome"
  2. my_function <- function() {
  3. txt <<- "fantastic"
  4. paste("R is", txt)
  5. }
  6. my_function()
  7. paste("R is", txt)