후 내가 원하는 작동하지 않습니다기능이 오류에 도움이 지원군을 호출하는 변화 환경
먼저 내 환경을 만들어 :
envizito <- new.env(parent = emptyenv())
attr(envizito, "name") <- "envizito"
및라는 새로운 변수를 할당 aaa
:
FUNn <- function() {print(envizito$aaa)}
environment(FUNn)
# <environment: R_GlobalEnv>
:
envizito$aaa <- 12
내가 함수를 생성
그럼, envizito
에있을 환경을 변경 :
environment(FUNn) <- envizito
environment(FUNn)
# <environment: 0xc20b0a8>
#attr(,"name")
#[1] "envizito"
그러나 전화 FUNn()
후 아래의 오류 보여 :
FUNn()
# Error in { : could not find function "{"
PS : environment(FUNn)
포인트 비록 메모리에 같은 장소에 그것을 내가 불렀을 때 나타나지 않았다. ls()
ls(envir = envizito, all.names = TRUE)
# [1] "aaa"
모든 조언과 제안을 부탁드립니다! 관심을 가져 주셔서 감사합니다.
이 예제를 다시 실행하여 parent.frame() (즉, R_GlobalEnv)을 부모로 지정하면 모든 것이 정상적으로 작동합니다. 빈 환경을 일부 기능의 부모로 지정하여이 동작을 알지 못했습니다. 도와 줘서 고마워! – Facottons
대단히 환영합니다. 도와 줄 수있어서 기뻐! – LyzandeR