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?")
}