簡體   English   中英

訪問/操縱R中的歷史記錄堆棧(向上/向下箭頭)

[英]Access/manipulate history stack in R (up/down arrow)

我正在R中開發一個類似於交互式外殼的小工具,該工具使用readline來提示標准輸入,如下所示:

console <- function(){
  while(nchar(input <- readline(">>> "))) {
    message("You typed: ", input)
  }
}

它有效,但唯一令我困擾的是,以這種方式輸入的行不會被壓入歷史堆棧。 按下R中的向上箭頭會給出在啟動控制台之前輸入的最后一個R命令。

有什么方法可以手動將input行推入歷史記錄堆棧,以便按向上箭頭將顯示在控制台功能中輸入的最新行?

我在儀式中使用此命令將命令添加到命令歷史記錄。 本質上,您可以只savehistory本地文件中的savehistoryloadhistory 我做:

tmphistory <- tempfile()
savehistory(tmphistory)
histcon <- file(tmphistory, open="a")
writeLines(code, histcon)
close(histcon)
loadhistory(tmphistory)
unlink(tmphistory)

注意: Mac使用歷史記錄的方式與其他OS不同 ,因此請務必小心。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM