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 # print txt
Если вы попытаетесь напечатать txt
, он вернет « глобальную переменную », потому что мы
печатаем 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)