我是Ruby新手,对编程很新。不知道为什么string [n] = temp [string.length-(n + 1)]会将temp更改为字符串数组。分配只是改变字符串数组吗?我已经解决了这个问题4个小时,非常感谢任何帮助=)谢谢!
def reverse(string)
temp = string
n=0
while (string.length - n) > 0
string[n]=temp[string.length-(n+1)]
n+=1
end
return string
end
puts reverse("abc")
答案 0 :(得分:0)
temp
和string
是同一个对象,因为:
temp = string
因此,对string
的任何更改都会反映在temp
中。您可以复制字符串变量以避免此问题:
temp = string.dup