我需要编写一个递归函数,它只使用两个字符串方法,.empty?和.chop。 不,我不能使用.length(你能告诉它的功课了吗?)递归计数字符串中的字符数。 (Ruby)
到目前为止,我一直在写函数本身,我通过它的字符串,但我不确定如何递归去通过使用.chop字符串方法的字符。我会有柜台吗?这个东西的语法对我来说似乎很棘手。
def stringLength(string)
if string.empty?
return 0
else
.....
end
end
我希望我可以放下更多,但这是我坚持。
将递归看作是一个函数,它使用不同的参数调用自己,并查看从那里得到的结果。你会在哪里再次调用stringLength以及使用什么参数? – antlersoft
红宝石的作业?真棒。 – Speed
使用递归函数需要记住或者需要的两件事情是*终止子句*(你已经知道了)以及对自身的调用(正如dbyme的答案所示),通常使用的参数略有不同(正如anterlersoft所说)。这是你的正常起点。通常,我使终止子句也返回最终答案,但它显然取决于函数/上下文。一直玩,直到找到适合你的风格为止,因为一旦你掌握了自己的想法,就会发现自然递归。 Ruby虽然不是特别适合递归,但很好理解。 – iain