创建包时的oldLC对象

时间:2014-02-18 20:41:46

标签: r

我刚刚注意到每当我构建和重新加载包时,我都有这个新对象“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  

1 个答案:

答案 0 :(得分:8)

oldLC是由" SessionBuild.cpp"创建的临时对象。脚本。

以下是来自RStudio's GitHub page的相关摘录,解释了它包含区域设置信息的原因:

  // 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%; }"
      ")");

我不知道为什么它会出现在最近的更新中,或者如何让它停止,但这是RStudio人员希望在将来的更新中修复的内容。