Вот функция для подсчета в if
заявления гласные, содержащаяся в строке:Не удается упростить `if` оператор условия
def count_vowels(string)
sum = 0
n = 0
while n < string.length
if string[n] == "a"||string[n]=="i"||string[n]=="u"||string[n]=="e"||string[n]=="o"
sum += 1
end
n+=1
end
return sum
end
Я нашел повторяющийся string[n] ==
является излишним и заменить его:
if string[n] == ("a"||"i"||"u"||"e"||"o")
Однако в этом коде функция не возвращает правильные значения. Почему упрощенная инструкция if
здесь не работает?
поиск в буквальном '«AEIOU»' –
возможного дубликата [Test равен ли переменная либо одно из двух значений] (http://stackoverflow.com/questions/2196414/переменный-равно тест-ли-а-либо один-о f-two-values) – toro2k
@Stefan показывает вам, как заменить весь код в вашем методе на одну 21-символьную строку. Разве Рубин не замечательный? –