R 中的用户输入

有时在用户和程序之间进行字符串扰会很有趣,其中一个例子就是设计用于在 R 中教 R 的漩涡包。

可以使用 readline 命令请求用户输入:

name <- readline(prompt = "What is your name?")

然后,用户可以给出任何答案,例如数字,字符,向量,并且扫描结果在此处以确保用户给出了正确的答案。例如:

result <- readline(prompt = "What is the result of 1+1?")
while(result!=2){
    readline(prompt = "Wrong answer. What is the result of 1+1?")
}

但是,需要注意的是,由于用户输入被保存为字符,因此该代码会陷入永无止境的循环中。

我们必须使用 as.numeric 将其强制转换为数字:

result <- as.numeric(readline(prompt = "What is the result of 1+1?"))
while(result!=2){
    readline(prompt = "Wrong answer. What is the result of 1+1?")
}