【发布时间】:2016-06-16 18:18:00
【问题描述】:
R 在运行文件和获取文件之间有细微的区别。源假设输入是有效的 R 代码。我有一个函数要求通过readline() 进行交互式输入,它会提示用户输入字符串。我已经在文件中记录了所需的输入,但无法弄清楚如何从文件中运行。
这是一个示例,一个小函数,它以交互方式请求文本并将其打印出来:
spacefun <- function() {
text <- readline("Input text: ")
print(text)
}
一个单独的文件test.R 调用该函数并提供文本。
spacefun()
Test Line
source() 和 parse() 都在空白处抛出错误:
Error in source("~test.R", echo = TRUE) :
~test.R:2:6: unexpected symbol
1: spacefun()
2: Test Line
想法?
【问题讨论】:
-
readline仅用于交互使用,为什么需要它这样工作? -
我正在开发一个包,其中交互式输入是创建具有复杂的用户定义结构的特定对象的最佳方式。虽然我可以简单地手动运行它,但这显然不利于重现性。我想 readLine 的替代方案也可以使用,如果它可以处理空格。