文字列の母音の数を文字の配列に分割し、母音の文字を1
にマップして配列を合計してみようとしています。trueまたはfalseの数値0または1を返すmap関数
def count_vowels(string)
vowels = ['a','e', 'i', 'o', 'u']
return string.split("").map{ |n| vowels.include? n ? 1 : 0}.inject(0,:+)
end
include?
一部が正しく1
または0
を返しません。これはなぜ飛ばないのですか?
は私が働くこのバージョンにそれをハッキング、愚かなのようなものを探します:
def count_vowels(string)
vowels = ['a','e', 'i', 'o', 'u']
return string.split("").map{ |n| vowels.include? n}.inject(0) do |mem,x|
x ? mem + 1 : mem
end
end
'string.count(" aeiou ")' – steenslag