我的软件包简介中有平台特定的代码:
x <- c("01JAN2020:00:00:00", "15JAN2020:00:00:00")
# This is plaftform-spedific
Sys.setlocale("LC_TIME", "English")
as.Date(x, "%d%b%Y")
# [1] "2020-01-01" "2020-01-15"
这个小插曲在我的Windows机器上通过了R CMD check --as-cran
,但在Linux机器上会失败(需要locale = "en_US"
)。
这里有好的实践吗?如果我把我的包原样提交给CRAN,它会起作用吗?(根据https://cran.r-project.org/web/checks/check_summary.html,检查似乎在CRAN的不同平台上运行)
1条答案
按热度按时间insrf1ej1#
我不知道你是否可以有平台特定的小插曲来源,但是,我想说,你通常不需要。
在您的示例中,只有当目的是向用户展示如何以特定于平台的方式进行操作时,我才认为需要具有特定于平台的内容。
如果是这样的话,展示如何在所有平台上执行,但不要评估代码,然后用平台无关的方法创建结果(可能使用
dput
输出)。否则,只需使用与平台无关的方法,例如使用标准
%Y-%m-%d %H:%M:%S
的字符串。在您的示例中,Sys.setlocale("LC_TIME", "C")
可能也是一种有用的方法。