R Zmienne globalne


Zmienne globalne

Zmienne tworzone poza funkcją nazywane są zmiennymi globalnymi .

Zmienne globalne mogą być używane przez wszystkich, zarówno wewnątrz funkcji, jak i na zewnątrz.

Przykład

Utwórz zmienną poza funkcją i użyj jej wewnątrz funkcji:

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

my_function()

Jeśli utworzysz zmienną o tej samej nazwie wewnątrz funkcji, ta zmienna będzie lokalna i może być używana tylko wewnątrz funkcji. Zmienna globalna o tej samej nazwie pozostanie bez zmian, globalna i z pierwotną wartością.

Przykład

Utwórz zmienną wewnątrz funkcji o tej samej nazwie co zmienna globalna:

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

my_function()

txt # print txt

Jeśli spróbujesz wydrukować txt, zwróci " zmienną globalną ", ponieważ drukujemy txtpoza funkcją.


Globalny operator przydziałów

Zwykle, gdy tworzysz zmienną wewnątrz funkcji, ta zmienna jest lokalna i może być używana tylko w tej funkcji.

Aby utworzyć zmienną globalną wewnątrz funkcji, możesz użyć globalnego operatora przypisania<<-

Przykład

Jeśli używasz operatora przypisania <<-, zmienna należy do zakresu globalnego:

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

my_function()

print(txt)

Użyj również globalnego operatora przypisania, jeśli chcesz zmienić zmienną globalną wewnątrz funkcji:

Przykład

Aby zmienić wartość zmiennej globalnej wewnątrz funkcji, odwołaj się do zmiennej za pomocą globalnego operatora przypisania <<-:

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

my_function()

paste("R is", txt)