Как предотвратить включение кода source () R более одного раза? - PullRequest
2 голосов
/ 18 января 2012

У меня много R исходных файлов.Например, в файлах A.R и C.R B.R загружается через source().Теперь я хотел бы использовать функции как в A.R, так и в C.R, как я могу избежать повторного получения B.R?Есть ли в C / C ++ похожие механизмы защиты?

1 Ответ

7 голосов
/ 18 января 2012

Если в BR уже есть функция или набор данных с довольно уникальным именем, вы можете использовать его в качестве защиты.В противном случае просто определите одно:

BR

B_is_loaded <- TRUE
# The normal B stuff

AR:

if(!exists("B_is_loaded")) source("B.R")
# Now you can call the stuff in B
...