我需要编写一个只使用两个字符串方法的递归函数.empty?和.chop。 不,我不能使用.length(你能告诉它的功课吗?)
到目前为止,我一直坚持编写函数本身,我传递了字符串,但我不确定如何使用.chop字符串方法递归遍历字符。我会有一个柜台吗?这个东西的语法对我来说似乎很棘手。
def stringLength(string)
if string.empty?
return 0
else
.....
end
end
我希望我可以放下更多,但这是我坚持的。
答案 0 :(得分:4)
return 1 + stringLength(string.chop)
这是你的缺失线。以下是一个如何工作的示例:
stringLength("Hello") = 1 + stringLength("Hell")
stringLength("Hell") = 1 + stringLength("Hel")
stringLength("Hel") = 1 + stringLength("He")
stringLength("He") = 1 + stringLength("H")
stringLength("H") = 1 + stringLength("")
stringLength("") = 0