我的功能是:
create_matrix <- function() {
cat("Write the numbers of vertices: ")
user_input <- readLines("stdin", n=1)
user_input <- as.numeric(user_input)
print(user_input)
}
对于版本3.5.0,在我输入数据后,程序不会继续执行。我直接从控制台调用脚本。
答案 0 :(得分:6)
我使用各种码头图像的发现:
R version 3.4.4 (2018-03-15) -- "Someone to Lean On"
中的rocker/r-ver:3.4.4
正常工作。R version 3.5.0 (2018-04-23) -- "Joy in Playing"
中的rocker/r-ver:3.5.0
所描述的挂起。R Under development (unstable) (2018-05-19 r74746) -- "Unsuffered Consequences"
中的rocker/drd
所描述的挂起。看起来版本3.5.1的发行说明中提到的更改是无关的。我已将调查结果发送至r-devel,并将报告结果:
R version 3.5.1 (2018-07-02) -- "Feather Spray"
bug已被标记为已修复。我可以断言版本R Under development (unstable) (2018-06-02 r74838) -- "Unsuffered Consequences"
按预期工作。
这is considered a bug,但不清楚修复的方式和时间。
A reasonable workaround:除了行尾之外发送文件结束(EOF,Ctrl-D)。
答案 1 :(得分:2)
TLDR:使用stdin()
如果你使用stdin()
而不是“stdin”......它可以正常工作....我们原本会推荐它。
但可能,对于后向兼容性“stdin”应该也可以起作用((或者发出弃用警告并立即起作用)