Differenz zwischen <- und << - [duplizieren]

Diese Frage hat hier bereits eine Antwort:

Wie verwenden Sie "<< -" (Bereichszuweisung) in R? 6 answers

FALL 1

rm(list = ls())
foo <- function(x = 6){
  set <- function(){
  x <- x*x}
  set()
x}
foo()
# [1] 6

FALL 2:

rm(list = ls())
foo <- function(x = 6){
set <- function(){
  x <<- x*x}
  set()
  x}
foo()
# [1] 36

Ich las das<<-er Operator @ kann verwendet werden, um einem Objekt in einer Umgebung, die sich von der aktuellen Umgebung unterscheidet, einen Wert zuzuweisen. Es heißt, dass die Objektinitialisierung mit<<- kann auf Objekte angewendet werden, die sich nicht in der aktuellen Umgebung befinden. Ich möchte fragen, welches Umgebungsobjekt mit @ initialisiert werden kan<<-. In meinem Fall ist die Umgebung Umgebung vonfoo Funktion, kann<<-initialisieren Sie die Objekte außerhalb der Funktion oder des Objekts in der aktuellen Umgebung? Völlig verwirrt, wann man @ benut<- und wann man @ benut<<-.

Antworten auf die Frage(4)

Ihre Antwort auf die Frage