【问题标题】:How to wait for user input in R-script ran from Windows CMD如何在从 Windows CMD 运行的 R 脚本中等待用户输入
【发布时间】:2023-03-08 11:30:02
【问题描述】:

我是 R 新手,我被困在一个非常简单的任务中。

我想从控制台运行一个 R 脚本,但我希望该脚本能够读取用户输入。

这就是我从脚本中读取的方式:

  library = readLines(n = 1L)
  if(library == "1")
  {
    library = "GUDHI"
  }

这就是我使用 .bat 从 R-Portable 运行脚本的方式:

@echo on
cd..
cd..
cd..
cd..
cd..

PATH C:\Users\MyUser\Desktop\App\RFolder\R-Portable\App\R-Portable\bin;%path%
cd C:\Users\MyUser\Desktop\App\RFolder
Rscript Phom.R 1
pause

当我运行这个 .bat 时,它会抛出一个错误(参数长度为零):

好像控制台没有等待用户输入。

问题不在于 .bat 代码。如果我从我的脚本中删除 readLines 函数并对输入进行硬编码,它会完美运行。我还尝试了readline 函数,但没有成功。

谢谢。

【问题讨论】:

    标签: r shell batch-file cmd user-input


    【解决方案1】:

    Windows CMD 的交互式 R 脚本解决方案:

      cat("Prompt Message: ")
      library = readLines(con = "stdin", 1)
    

    我不确定提示是否必须以“:”结尾,但我在删除那段字符串时遇到了麻烦。

    这对我有用,我希望这对某人有所帮助。

    【讨论】:

      猜你喜欢
      • 2023-03-31
      • 1970-01-01
      • 1970-01-01
      • 2016-10-06
      • 2021-12-11
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多