2
我有很多R源文件。例如,在A.R
和C.R
文件中,通過source()
加載B.R
。現在我想使用A.R
和C.R
中的函數,我怎樣才能避免重複採購B.R
?在C/C++中是否有類似的保護機制?如何防止source()R代碼被多次包含?
我有很多R源文件。例如,在A.R
和C.R
文件中,通過source()
加載B.R
。現在我想使用A.R
和C.R
中的函數,我怎樣才能避免重複採購B.R
?在C/C++中是否有類似的保護機制?如何防止source()R代碼被多次包含?
如果B.R已經有一個相當獨特的名字的函數或數據集,你可以用它作爲守衛。否則,只是定義一個:
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
答案几乎肯定是把'BR'在包中,然後用'庫加載它( )'功能。 – Andrie 2012-01-17 20:11:31
好吧,使它成爲一個包太過於過分。沒有簡單的方法? – RNA 2012-01-17 20:25:37
如果沒有明顯的方法做到這一點,我實際上正在考慮類似的解決方案這一個:http://stackoverflow.com/questions/7518584/is-there-any-mechanism-in-shell-script-alike -include後衛 - 在-C – RNA 2012-01-17 20:29:11