我如何调用"多个递归函数"在Ruby中,一次又一次地将函数作为参数?
由此,我不是指像fibonacci sequence这样的通常的递归函数。我们假设我有一个名为hey()
的函数。它会在函数中调用函数的次数打印字符串"Hey"
。澄清:
hey() #=> "Hey "
hey(hey()) #=> "Hey Hey "
hey(hey(hey())) #=> "Hey Hey Hey "
我试过
def hey(*args)
"Hey "
end
def hey(*args)
"Hey " + hey(*args)
end
def hey(n)
"Hey " + hey(n)
end
我以前从未见过这样的例子。我知道这是可行的,但不知道如何。是否需要* args
?我是否需要传递常规参数而不是*args
?
答案 0 :(得分:5)
这是你要找的吗?
def hey(str="")
"Hey " + str
end
p hey(hey(hey())) # "Hey Hey Hey "