当我有多个包包含一个函数时,如果我调用函数(而不显式命名包),我如何确认调用哪个包的函数版本?我已经研究了如何在包加载之前知道一个特定的函数属于R中的哪个包?
并缩小了(我的特别问题是“arima”)嫌疑人使用
help.search('arima', fields=c('name'), ignore.case=FALSE, agrep=FALSE)
在我的例子中,这返回“stats”和“tsa”作为唯一可能的罪魁祸首,但这仍然没有告诉我哪个是活动的。系统显然知道,否则无论何时调用函数,我们都必须明确。但是我们如何获得这些信息呢?
您可以使用conflicts(detail=TRUE)
找出哪些函数存在冲突(被屏蔽)。这将按照search()
路径的顺序返回冲突包/函数的命名列表,该路径是调用冲突包/函数的顺序。
例如,我们可以加载dplyr
,它加载一些与base冲突的函数。
library(dplyr)
# Create data.frame of conflicts and clean up.
conf <- conflicts(detail = TRUE)
conf.df <- data.frame(do.call(rbind, Map(cbind, conf, names(conf))))
names(conf.df) <- c("fn", "package")
conf.df$package <- sub("package:", "", conf.df$package)
# Aggregate packages by function - first package is the default when called.
aggregate(package ~ fn, conf.df, toString)
fn package
1 body<- methods, base
2 filter dplyr, stats
3 intersect dplyr, base
4 kronecker methods, base
5 lag dplyr, stats
6 setdiff dplyr, base
7 setequal dplyr, base
8 union dplyr, base
问题内容: 我正在使用开发系统,在其中访问内部函数时必须指定库名称。 我以前使用过像open()这样的函数,并且以某种方式发现它们在libc.so中。 现在,我想使用lstat(),但是似乎这个不在libc中。可悲的是,我查看的手册页没有记录功能的位置。 因此,有两个问题: 有人可以告诉哪个lib托管lstat吗? 我通常如何找到答案?除了在lib文件夹中的所有文件上使用grep“ name”以外
我使用活动识别api和活动转换。当我第一次运行应用程序时,第一个转换总是。在这个应用程序中,它是。当我在中仅使用和时,它是。我想忽略第一个转换,但我测试过的设备没有这样的问题。有这些问题的设备是Android 8.1,没有问题的设备是6.0。 MainActivity扩展AppCompatActivity 服务扩展服务 TransitionReceiver扩展了BroadcastReceiver。
我可以选择从一个客户那里接手许多项目。这些项目使用提交到git存储库的composer安装的依赖项。不幸的是,所有项目都没有编写器文件。我猜以前的开发人员忘记了/不想提交它们。 我正在寻找一种快速的方法来识别带有版本的作曲家包,以重建作曲家文件并简化项目的未来维护。有人知道识别版本的有效方法吗?
如果我记得Jasmine中有一个命令可以记录我运行到控制台的Jasmine的确切版本,但我不记得它是什么了。我肯定我以前在某个地方见过这个,现在我真的需要它,我在任何地方都找不到它。有人知道它是什么吗? 编辑:使用< code>jasmine.getEnv()发布的解决方案。versionString()不工作——对于阅读本文的任何mods来说,修复该问题是作为一个新问题开始还是在此继续更好?
我如何知道我使用的是哪个版本的Angular? 我试过: 但是找不到get 通过我知道我正在使用 但是如何获得angularjs版本?
我在一个公司环境中(运行Debian Linux),并没有自己安装它。我使用Navicat或phpPgAdmin(如果有帮助的话)访问数据库。我也没有对运行数据库的服务器的shell访问权限。