我有一个初学者的问题。我试图简单地将修改后的索引替换回原始字符串以创建字符串数组。他们连续增加下一个元素中的下一个索引。这就是我所拥有的。谁能帮我看看我在想什么?
def wave(str)
result = []
index = 0
while index < str.length
i = str[index]
if i == " "
index =+ 1
else
upper = i.upcase
val = str.rindex(upper) -1
result.push("#{str[0...val]}#{str[val..-1]}")
index += 1
end
end
result
end
我正在尝试获得:[“ Hello”,“ hEllo”,“ heLlo”,“ helLo”,“ hellO”]来自---> wave(hello)
谢谢。
您的else
部分不太正确:
index
upper
从不使用这是一个有效的变体:
# ...
else
upper = i.upcase
result.push("#{str[0...index]}#{upper}#{str[index+1..-1]}")
index += 1
end
# ...
您可以使用each_char
和each_char
使您的代码更加惯用:
with_index