带参数和不带参数的 R 调用函数

R call function with and without an argument

我想在 R 中递归调用一个函数。第一次,我没有向它传递任何参数,readLines 完成了这项工作。所以它会是这样的:

func<-function(word){
  if(word doesn't exist){
    word<-readLines(stdin(),n=1)
  }
  ... #function transform word into next_word
  func(next_word)
}

func()

我想知道这是否可能。

一种方法是将 word 的默认值设置为 NULL:

func<-function(word = NULL){
  if(is.null(word)){
    word<-readLines(stdin(),n=1)
  }
  #stuff
}

然后,当您调用func并提供一个参数时,它将被用作符号word指示的对象。如果您不带参数调用它,word 将是默认值 NULL,因此将从 stdin.

读取信息