我想在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
中读取。