我不明白爲什麼reverse_string = string [i] + reversed_string首先放置最後一個字符。看起來string [i]會索引第一個字符而不是最後一個字符。所以如果字符串是「abc」,索引0將是'a'而不是'c'。有人能解釋一下ruby如何從索引0得到'c'嗎?那麼,當然,索引1中的'b'?等等Ruby方法反轉字符串輸入
編寫一個方法,將一個字符串作爲輸入,並以相反的順序返回一個相同字母的新字符串。
難度:容易。
def reverse(string)
reversed_string = ""
i = 0
while i < string.length
reversed_string = string[i] + reversed_string
i += 1
end
return reversed_string
end
puts("reverse(\"abc\") == \"cba\": #{reverse("abc") == "cba"}")
puts("reverse(\"a\") == \"a\": #{reverse("a") == "a"}")
puts("reverse(\"\") == \"\": #{reverse("") == ""}")
「abcdefg」.reverse! =>「gfedcba」 – scottxu 2014-11-06 02:11:40
@scottxu我認爲這個問題旨在通過編寫一個反轉字符串的方法來練習編程。 – David 2014-11-06 02:18:58