Объект oldLC при создании пакета - программирование
Подтвердить что ты не робот

Объект oldLC при создании пакета

Я только заметил, когда создаю и перезагружаю пакет, у меня есть этот новый объект "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  
4b9b3361

Ответ 1

oldLC - временный объект, созданный "SessionBuild.cpp" script.

Вот соответствующий фрагмент из страницы 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%; }"
      ")");

Я не знаю, почему он появляется с последним обновлением или как его остановить, но это то, что люди RStudio захотят исправить в будущем обновлении.