我试图在for循环中包含readline命令,然后是其他代码。使用下面的代码我希望R要求输入三次,但是我只有机会在循环被认为是响应之一之后给出响应两次,这不是我想要或期望的。我尝试了一个while循环来强制'强制' R停止执行,直到得到用户的响应,但这似乎不起作用。任何建议都将非常感激。
response <- rep(NA,3)
for(i in 1:3) {
while(is.na(response[i])) {response[i] <- readline("Give me a number: ") } # Ask for response
}
response
答案 0 :(得分:1)
当readline语句和后续语句用大括号括起来时,语句按顺序执行。以下代码按预期工作。
{
for(i in 1:3) { response[i] <- readline("Give me a number: ") }
response
}