【发布时间】:2016-12-06 21:16:04
【问题描述】:
如何在 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?
【问题讨论】: