Antworten:
Wie Christians Antwort mit assign()
zeigt, gibt es eine Möglichkeit, sich im globalen Umfeld zuzuordnen. Eine einfachere, kürzere (aber nicht bessere ... bleiben Sie bei der Zuweisung) Methode ist die Verwendung des <<-
Operators, dh
a <<- "new"
innerhalb der Funktion.
assign
bevorzugt <<-
?
<<-
durchsucht die Gehäusekette bis zur globalen Umgebung und weist der ersten gefundenen übereinstimmenden Variablen zu. Hypothetisch, wenn Sie eine Funktion f()
in einem Verschluss verschachtelt g()
und a
existiert in g()
, dann unter Verwendung von a <<-
in f()
wird zuweisen a
in g()
, nicht auf die globale Umwelt. Oft ist dies jedoch das, was Sie wollen.
Ich fand eine Lösung dafür , wie eine globale Variable in einer einstellen Mailingliste Buchung über assign :
a <- "old"
test <- function () {
assign("a", "new", envir = .GlobalEnv)
}
test()
a # display the new value