我试图把字符串“xxxyyyzzz”并将其分成一个数组,将相同的字母组合在一起。所以我想输出为[“xxx”,“yyy”,“zzz”]。我不确定为什么这段代码不断循环。有什么建议么?这个循环为什么不停止?
def split_up(str)
i = 1
result = []
array = str.split("")
until array == []
if array[i] == array[i-1]
i += 1
else
result << array.shift(i).join("")
end
i = 1
end
result
end
puts split_up("xxxyyyzzz")
我不确定'循环结束时'i = 1'是你真正想要的。 –
你不需要'加入' –
你需要'i'才能继续执行你的程序,但是在循环的每一次迭代结束时,你都有'i = 1'。 – meagar