2014-01-03 2 views
1

Я просматриваю курс Ruby на Codecademy.com. Проблема указана в разделе Итераторы и циклы. Вот инструкции:Реконструированный итератор в рубине

Давайте начнем просто: напишите петлю .each, которая проходит через слова и просто распечатывает каждое найденное слово.

Вот что у меня есть, что, похоже, не проходит тест, поэтому я просто хочу знать, правильно оно это или нет.

puts "need input please" 
text = gets.chomp 

words = text.split(" ") 
words.each do |x| 
    puts "#{x}" 
end 

puts "need another input" 
redact = gets.chomp 

Несколько странно, это то, что прошел курс пример

puts "need input please" 
text = gets.chomp 
words = text.split(" ") 
redact = gets.chomp 

Который является obcviously не правильно, так как он не использует петли .each.

+0

* Вот что у меня есть, которые похоже, не проходит тест * --- Почему вы так думаете? Он проходит тест. –

+0

, потому что оценщик дает мне ошибку, говоря, что я сделал это неправильно, поэтому я в основном смотрю, не сделал ли я этого неправильно, потому что считаю, что это правильно. –

+1

Примечание: x - это строка, поэтому 'puts x' является достаточным. – steenslag

ответ

1
words.each do |x| 
    puts "#{x}" 
end 

x - ваша переменная блока, и ее не нужно интерполировать.

Попробуйте

words.each do |x| 
    puts x 
end 
+0

Хотя я согласен, что это работает, я буду вечно грустным, если это причина его разрыва. –

+0

он сказал, что я ошибался, но учитывая тот факт, что код, который я знаю, ошибочен, я буду отмечать как правильный –

0

привет им делать тот же курс на Codecademy и написал это несмотря на то, что это позволяет мне передать им не знаете, если его правильно, если это помогает

puts "Enter paragraph here: " 
text=gets.chomp 
puts "Word to redact" 
redact = gets.chomp 
words = text.split {" "} 
words.each do |words| 

    if words == redact 
    print "REDACTED " 
    else 
    print words + " " 
    end 
end 
Смежные вопросы