R의 전역 변수


답변:


174

크리스천이 assign()보여준 대답에서 볼 수 있듯이, 지구 환경에 할당 할 수있는 방법이 있습니다. 더 간단하고 더 짧은 (그러나 더 나은 ... 할당하지 않는) 방법은 <<-연산자 를 사용하는 것 입니다.

    a <<- "new" 

함수 내부.


41
이 방법은 실제로 전역 환경이 아니라 상위 범위에 저장됩니다. 때로는 부모 범위가 전역 환경과 동일하지만 일부 중첩 함수가있는 경우 그렇지 않습니다.
LunaticSoul

5
assign선호 <<-하는가?
Jasha

4
@Jasha <<-는 인클로저 환경을 글로벌 환경까지 검색하여 찾은 첫 번째 일치 변수에 할당합니다. 가설 적으로, 당신은 함수가있는 경우 f()폐쇄에 중첩 g()a존재 g()후 사용 a <<-f()할당됩니다 ag()없는 지구 환경에. 그러나 종종 이것은 당신이 원하는 것입니다.
Bob

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.