R 创建包时的oldLC对象

R 创建包时的oldLC对象,r,R,我刚刚注意到,每当我构建和重新加载一个包时,我都会有一个新对象“oldLC”。它以前从未出现过,所以为什么它现在出现,我如何才能让它停止?从上次制作软件包到现在,我所能想到的唯一改变就是我安装了最新的rstudio > load_all() Loading tmp > ls() character(0) Restarting R session... > library(tmp) > ls() [1] "oldLC" > oldLC [1] "en_US.UTF

我刚刚注意到,每当我构建和重新加载一个包时,我都会有一个新对象“oldLC”。它以前从未出现过,所以为什么它现在出现,我如何才能让它停止?从上次制作软件包到现在,我所能想到的唯一改变就是我安装了最新的rstudio

> load_all()
Loading tmp
> ls()
character(0)

Restarting R session...

> library(tmp)
> ls()
[1] "oldLC"
> oldLC
[1] "en_US.UTF-8"


> sessionInfo()
R version 3.0.2 (2013-09-25)
Platform: x86_64-apple-darwin10.8.0 (64-bit)

locale:
[1] en_US.UTF-8/en_US.UTF-8/en_US.UTF-8/C/en_US.UTF-8/en_US.UTF-8

attached base packages:
[1] stats     graphics  grDevices utils     datasets  methods   base     

other attached packages:
[1] tmp_0.1        roxygen2_3.1.0 devtools_1.4.1

loaded via a namespace (and not attached):
 [1] brew_1.0-6      codetools_0.2-8 digest_0.6.4    evaluate_0.5.1 
 [5] httr_0.2        memoise_0.1     parallel_3.0.2  Rcpp_0.11.0    
 [9] RCurl_1.95-4.1  stringr_0.6.2   tools_3.0.2     whisker_0.3-2  

oldLC
是由“SessionBuild.cpp”脚本创建的临时对象

以下是中的相关片段,解释了它包含区域设置信息的原因:

//格式化要发送到R的命令
格式cmdFmt(
“suppressPackageStartupMessages(”

{oldLC同样的事情刚刚发生在我身上…我也得到了这个…这个斜线分隔的区域设置条目。这在apple darwin上正常吗?我得到了类似“LC_CTYPE=en_US.UTF-8”的区域设置条目“等等。很难排除故障,因为实际上您没有提供复制该行为的代码。您是否尝试在另一个具有相同R版本的plathorm上测试它?若要继续,请尝试直接从终端窗口(不要使用Rstudio)然后从库(tmp);ls();sessionInfo()运行R--vanilla。”看看它是否与您的会话环境有关。实际上没有代码可提供——只需使用rstudio构建并重新加载一个包。我使用R--vanilla做了另一个,它不创建oldLC对象,因此它只在我
cmd+shift+b
时创建,即在rstudio中构建并重新加载一个包。它似乎也不是
roxygenize
函数,但在
R CMD安装
步骤之后,它出现了。我还使用roxygen在R--vanilla中构建了包,但它没有出现在我的工作区中。我甚至不知道rstudio将其源代码放在github上。我想我应该在那里查看
  // format the command to send to R
  boost::format cmdFmt(
     "suppressPackageStartupMessages("
        "{oldLC <- Sys.getlocale(category = 'LC_COLLATE'); "
        " Sys.setlocale(category = 'LC_COLLATE', locale = 'C'); "
        " on.exit(Sys.setlocale(category = 'LC_COLLATE', locale = oldLC));"
        " %1%; }"
      ")");