我目前正在编写一个仅接受某些输入的函数(在示例中,仅“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/

10-13 09:38