我目前正在编写一个只接受某些输入的功能(仅在示例中为" a"和" b")。对于所有其他输入,该函数将返回错误。
test <- function(x) {
allowedX <- c("a","b")
if(x %in% allowedX) print("Good choice!")
else stop("wrong input!")
}
为了帮助该功能的用户,我想使用R中的选项卡完成功能提供x的允许值(存储在 allowedX 中),并替换通常在应用之后应用的默认文件名完成一句话。所以按TAB应该给出类似的东西:
test(x="<TAB>
a b
但是,到目前为止,我还无法找到一个解决方案,如何将矢量 allowedX 映射到R中的制表符完成。有人可以告诉我该怎么做吗?
提前致谢!
答案 0 :(得分:1)
您可以尝试以下内容:
test <- function() {
allowedX <- c("a","b")
x = readline('Please enter your choice of parameters (either "a" or "b"): ')
if(x %in% allowedX) print("Good choice!")
else stop("wrong input!")
}