我目前正在编写一个仅接受某些输入的函数(在示例中,仅“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中的制表符补全。有人可以告诉我该怎么做吗?
提前致谢!
最佳答案
您可以尝试以下操作:
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!")
}
关于r - R功能中的自定义制表符完成,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/17592018/