Мне нужно подсчитать количество гласных, слов, местоимений («он, она, их») в каждой строке строки, введенной пользователем. если вход «они играют», он изучает «ожидаемый результат: Sentence 1 имеет 3 слова, имеет 4 гласных, 1 местоимение. \ nSentence 2 имеет 3 слова, 4 гласных, 1 местоимение. Я написал следующий код, но получаю сообщение об ошибке с неожиданным завершением ввода.Подсчитайте количество гласных, местоимений в каждой строке строки?
string = gets
string =string.chomp
sentencecount = 0
wordcount = 0
pronouns={"He"=>0,"She"=>0,"They"=>0,"Them"=>0}
procount=0;
string.split(".").each do |sentence|
wordcount = 0
sentencecount += 1 #tracking number of sentences
vowels=sentence.scan(/[aeoui]/).count
procount=0
sentence.split(/\w+/).each do |word|
pronouns.each do|key,value|
if (key.eq word)
procount++
wordcount += 1 # tracking number of words
end
puts "Sentence #{sentencecount} has #{wordcount} words, has #{vowels} vowels"
end
дает 0 в качестве местоимения каждый раз, когда я запускаю –
Да, в вашем коде вы их не обновляете. – Ursus
после предоставления procount + = 1 также не обновляется. Не могли бы вы рассказать мне, как обновить –