Как ответ на комментарий @ Ramnath: sys.source("foo")
- это не то же самое, что Rscript foo
.Например, вы можете сделать следующее с sys.source
:
e <- new.env()
sys.source("foo", e) # foo creates a bunch of objects in environment e
z <- with(e, {
# do stuff with e....
})
rm(e)
Вы можете сделать это, если вы создаете несколько промежуточных объектов, которые затем выполняете и возвращаете окончательный результат.Вы не хотите хранить промежуточные объекты, поэтому размещение их во временной среде - это простой способ удалить их за один раз.