我不明白为什么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