我已经看到了解决方案,它或多或少匹配
Write a method that takes a string and returns the number of vowels
in the string. You may assume that all the letters are lower cased. You can treat "y" as a consonant.
Difficulty: easy.
def count_vowels(string)
vowel = 0
i = 0
while i < string.length
if (string[i]=="a" || string[i]=="e" || string[i]=="i" || string[i]=="o"|| string[i]=="u")
vowel +=1
end
i +=1
return vowel
end
puts("count_vowels(\"abcd\") == 1: #{count_vowels("abcd") == 1}")
puts("count_vowels(\"color\") == 2: #{count_vowels("color") == 2}")
puts("count_vowels(\"colour\") == 3: #{count_vowels("colour") == 3}")
puts("count_vowels(\"cecilia\") == 4: #{count_vowels("cecilia") == 4}")
Run Code Online (Sandbox Code Playgroud)
Aug*_*ust 10
def count_vowels(str)
str.scan(/[aeoui]/).count
end
Run Code Online (Sandbox Code Playgroud)
/[aeoui]/是一个正则表达式,基本上意味着"任何这些字符:a,e,o,u,i".该String#scan方法返回字符串中正则表达式的所有匹配项.