【发布时间】:2018-04-05 20:08:31
【问题描述】:
我有以下需要一系列用户输入的功能:
fun <- function(){
cat("Hello! let's input some data")
x <- readline("Input foo: ")
y <- readline("Input bar: ")
z <- readline("Input baz: ")
a <- readline("Input foobarbaz: ")
}
fun()
但是,当我在函数定义后调用fun()时,它经常会跳过
直接到第二个输入 - Input bar: 为什么 readlines() 在函数中是异步的?它与将输入分配给变量有关吗?
在控制台中:
> fun()
Hello! let's input some dataInput foo:
Input bar:
我希望输入以与函数中写入的顺序相同的顺序出现。
为什么会发生这种情况,解决方法是什么?
【问题讨论】:
-
多久一次?我多次尝试都无法重现它。
-
可能无法用上面的少量代码重现,但
readline()不一定要等到第一个输入才会跳转到下一个输入。 -
似乎没有wait function,但可能取决于how the code is run?
-
我在这里找到了解决方案:stackoverflow.com/questions/27112370/…