我需要編寫一個遞歸函數,它只使用兩個字符串方法,.empty?和.chop。 不,我不能使用.length(你能告訴它的功課了嗎?)遞歸計數字符串中的字符數。 (Ruby)
到目前爲止,我一直在寫函數本身,我通過它的字符串,但我不確定如何遞歸去通過使用.chop字符串方法的字符。我會有櫃檯嗎?這個東西的語法對我來說似乎很棘手。
def stringLength(string)
if string.empty?
return 0
else
.....
end
end
我希望我可以放下更多,但這是我堅持。
將遞歸看作是一個函數,它使用不同的參數調用自己,並查看從那裏得到的結果。你會在哪裏再次調用stringLength以及使用什麼參數? – antlersoft
紅寶石的作業?真棒。 – Speed
使用遞歸函數需要記住或者需要的兩件事情是*終止子句*(你已經知道了)以及對自身的調用(正如dbyme的答案所示),通常使用的參數略有不同(正如anterlersoft所說)。這是你的正常起點。通常,我使終止子句也返回最終答案,但它顯然取決於函數/上下文。一直玩,直到找到適合你的風格爲止,因爲一旦你掌握了自己的想法,就會發現自然遞歸。 Ruby雖然不是特別適合遞歸,但很好理解。 – iain