在这段代码中,我试图删除单词中的最后一个元音。一旦我运行代码,我收到一个参数错误,说明" Fixnum与Array的比较失败(ArgumentError)。请帮忙!
VOWELS = %w( a e i o u)
def hipsterfy(string)
new_string = string.split('')
reversed_string = new_string.reverse
i = 0
while i <= reversed_string
if VOWELS.include?[i]
reversed_string[i] = ('')
i += 1
end
reversed_string
end
reversed_string.reverse
end
答案 0 :(得分:1)
我确信这不是这个代码的唯一闪现,但你得到的错误来自:
while i <= reversed_string
它可能应该是
while i < reversed_string.length
因为reversed_array
是一个数组,您可能希望将i
与length
进行比较。
答案 1 :(得分:1)
测试时
systemd
您要检查if VOWELS.include?[i]
常量是否包含数组索引。你想要查看字符串中该点的字母,对吗?
VOWELS
答案 2 :(得分:0)
在if语句之后需要有一个“break”语句,以便在循环第一个元音后立即停止循环。这会阻止它进入下一个元音。问题已解决。