将
我有一个对我来说没有意义的行为,谁能解释一下以下行为
我已经创建了2个包A,B
A
依赖于data.table
,定义了函数readFile
B
依赖于A
并定义了函数useFile
useFile <- function(path){
DT <- readFile(path)
print(class(DT))
return(DT[x == 'a'])
}
当我做
library(A)
library(B)
useFile(myFile)
我看到DT是print
语句中的data.table
,但它崩溃了,说object x not found
(当然是数据)。表有一个x列)
现在,当我也使B
依赖于data.table
它工作得很好!
有人可以解释的行为,我认为所有的data.table
ness应该在那里当library(A)
被调用!!
PS:我知道我应该提供可复制的,但我们这里有两个包,如果没有明显的答案,我将上传两个包在线
为了确保,添加
DESCRIPTION
中的Depends: data.table
发送给所有使用data.table
的软件包,即使他们使用的其他软件包已经使用了data.table
。