-1
我試圖將字符串轉換爲數組,然後使用Enumerable#each
將其反轉。在下面,我期望得到["k","o","o","b"]
。將字符串轉換爲數組並將其反轉
def reverse(string)
array = string.split("")
reverse_array = []
i = array.length - 1
array.each do |letter|
reverse_array << letter[i]
i = i - 1
break if i == -1
end
p reverse_array
end
reverse("book") # => [nil, nil, nil, "k"]
有人能解釋爲什麼我越來越nil
,我將如何使用Enumerable#each
修復代碼?
的[逆向Ruby中的字符串]可能的複製(http://stackoverflow.com/questions/3057967/reverse- a-string-in-ruby) –
問題在於'reverse_array << letter [i]'這一行。變量字母包含單個字母,而不是數組,因此只需刪除'[i]'。 – neuronaut
擺脫'[i]':擺脫4,7和8行。 – steenslag