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