R在运行文件和源文件之间有细微的区别。Source假设输入是有效的R代码。我有一个通过readline()请求交互式输入的函数,它会提示用户输入字符串。我已经在文件中记录了所需的输入,但不知道如何从文件中运行内容。
下面是一个小函数,它以交互方式请求文本并将其打印出来:
spacefun <- function() {
text <- readline("Input text: ")
print(text)
}一个单独的文件test.R调用该函数并提供文本。
spacefun()
Test Linesource()和parse()都在空格上抛出错误:
Error in source("~test.R", echo = TRUE) :
~test.R:2:6: unexpected symbol
1: spacefun()
2: Test Line有什么想法?
发布于 2017-11-01 17:39:47
Make readline wait for input in R已应答
当你使用脚本模式时,你应该使用readLines()作为输入,使用cat()作为输出,这是一个奇怪的设计,我不知道为什么。
cat("a string please: ");
a <- readLines("stdin",n=1);
cat("You entered")
str(a);
cat( "\n" )https://stackoverflow.com/questions/37866581
复制相似问题