R 中的 readline 命令不执行进一步的编程行

readline command in R is not executing further programming lines

我是 R 编程的新手,想通过键盘输入来执行进一步的编程代码。当执行此处给出的代码时,一切正常,但是当进入退出时程序终止并且它没有打印 yz.

你能告诉我如何在循环中使用 readline 命令并在该循环之后执行其他程序行吗?

n=1
a=1
y=c()
z=c()
x=""

while(x!="exit"){

      x<-readline("Enter your name ")
      library(stringr)

      if(x!="exit" & str_detect(x,"N")){

           y[n]=x
           n=n+1

          }else{ 

                z[a]=x
                a=a+1

               }


}

print(y)
print(z)

此代码有效。我已将其复制到 foo.R 文件中:

# in "foo.R"
n = 1
a = 1
y = character()
z = character()
x = ""
library(stringr)
while (x!="exit") {
    x <- readline("Enter your name\n")
    if (x!="exit" & str_detect(x,"N")) {
        y[n] = x
        n = n+1
    } else {
        z[a] = x
        a = a+1
    }
}
print(y)
print(z)

然后,从我的 R 控制台(具有正确的工作目录),我可以 运行 :

source("foo.R")
# Enter your name
# Bob
# Enter your name
# Nate
# Enter your name
# exit
# [1] "Nate"
# [1] "Bob"  "exit"

它似乎工作得很好。