拥有完整的R脚本。从Rscript执行它时,它不会停止接受用户输入。 用户输入是一些readline语句。提示输入的cat语句按预期工作。我错过了什么吗? 我从macOS上的终端执行'Rscript scriptfile.R'。
答案 0 :(得分:0)
通过将readline更改为readLines来管理以使其工作,如meenaparam建议的帖子中所述。这种方法的缺点是脚本只能在批处理模式下运行,在Rstudio中运行它会使它挂起。很高兴知道一种捕获键盘输入的一般方法,即在交互模式和批处理模式下都能工作。
答案 1 :(得分:0)
您可以创建函数类型行()来读取输入行,然后将结果用于下一个命令。它将等待您在Rstudio或终端中运行代码的输入文本:
typeline <- function(msg="Enter text: ") {
if (interactive() ) {
txt <- readline(msg)
} else {
cat(msg);
txt <- readLines("stdin",n=1);
}
return(txt)
}
txt=typeline("your message: ")
print(txt)