我有一个使用 readline 要求人们输入数据的函数。但我不知道确保输入的数据符合我的标准的最佳方法。我认为“if”语句可能是检查错误的最佳方法,但我不确定如何合并它们。我尝试使用它们显然是有缺陷的(见下文)。
作为一个简单的例子,我将遇到的两个最可能的问题是我想确保至少为 x 输入了一些值(如果为 x 输入了一个值,它是一个数字)并且 V1 和 V2 包含相同数量的值。
fun<-function(){
T<-readline("What is x" )
if(T=="" | typeof(x)!=numeric)
{print("Input non-aceptable")
T<-readline("What is x ")}
else
V<-readline("Enter 4 values" )
V2<-readline("Enter 4 more values ")
if(length(V1)!=length(V2))
{print("V1 & V2 do not contain equal # of values")
V<-readline("Enter 4 values ")
V<-readline("Enter 4 more values ")}
else
T<-as.numeric(T)
V<-as.numeric(V)
V2<-as.numeric(V2)
return(list(x,V1,V2)
}
如您所见,我希望在潜在错误导致实际错误发生之前尝试发现它们,然后让人们有机会重新输入数据。如果“if”语句是要走的路,我能得到一些正确使用的帮助吗?
谢谢!