Я написал следующий код:Рубин взрыва странное поведение
print "Please enter a string"
user_input = gets.chomp
user_input.downcase!
if user_input.include? "s"
print "Changing #{user_input} to #{user_input.gsub!(/s/,'th')}"
else
print "No s in the string"
end
и я обнаружил, что user_input
и user_input.gsub!(/s/,'th')
содержат одинаковое значение. Это происходит из-за операции взрыва на gsub
и потому, что они являются частью одной и той же строки.
Расщепление печать в две строки изменяет поведение:
print "Changing #{user_input} to "
print "#{user_input.gsub!(/s/,'th')}"
Интересно, если это ошибка.
Pro Совет: если вы думаете, что вы нашли ошибку в компилятор/интерпретатор/любой другой, вы не делали. Ошибка в вашем коде. :) –
Я действительно знаю, что я поставил вопрос «базовый», потому что я только начал изучать рубин, поскольку мой оригинальный вопрос был указан – Antonio
Это была шутка, кстати. Не оскорбление или что-то в этом роде. –