0
extern 파일에서 사용자 지정 함수를로드해야하지만 부작용이 발생하지 않아야합니다.부작용없이 extern 파일에서 함수를로드하는 가장 좋은 방법
현재, 내가 이런 식으로 일을 해요 :이 방법으로
src <- "function(x,y) { return(x + y) }"
# parse the source
ptree <- parse(text=src)
# execute the evaluation using a data.frame as environment (like a sandbox)
f <- eval(ptree, envir=data.frame())
if(!is.function(f))
stop('The given source does not contain a valid function')
f(1,1)
하는 "악성"코드가 현재의 환경에 영향을주지 않습니다, 예를 들어, :
src <- "a <- 1"
따라서 기존 "a"
변수 eval
함수에 의해 변경되지 않는다.
여기에 단점이 있습니까?
더 좋은 방법이 있습니까? 당신은 사용자 환경에서 기능을 저장할 수있는 사전
사용자 지정 환경으로 가져 오기하여 개체 덮어 쓰기를 방지 할 수 있습니다. –
@ RomanLuštrik : 정교하게 주시겠습니까? 그것은 내 솔루션과 많이 다른가요? – digEmAll