için sayısal 0 veya 1 döndüren bir işlev işlevi Bir dizede harfler dizisine bölerek bir dizedeki ünlülerin sayısını saymaya çalışıyorum ve daha sonra harfleri 1
ile eşleştirip diziyi toplamaya çalışıyorum.doğru veya yanlış
def count_vowels(string)
vowels = ['a','e', 'i', 'o', 'u']
return string.split("").map{ |n| vowels.include? n ? 1 : 0}.inject(0,:+)
end
include?
kısmı doğru 1
veya 0
döndürmez. Bunun neden uçmayacağı konusunda bir önerin var mı?
Ben çalışan bu sürümle kesmek, ama aptal görünüyor tür:
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