更改用户输入但分别存储原始输入

时间:2016-06-14 14:14:01

标签: arrays ruby input store

我的任务是接受用户的输入并将每个'c'和's'更改为's'和'th'。

之后,它要求我存储原始用户的输入,以免它被更改。

我无法在Ruby中弄明白。

print "What can we do for you?"
    user_input = gets.chomp
    user_input.downcase!
if user_input.length == 0
    puts "Well you will have to write something...!"
elsif user_input.include?("s") || user_input.include?("c")
    puts "We got ourselves some 's's and some 'c's"
    user_input.gsub!(/s/, "th")
    user_input.gsub!(/c/, "s")
    puts "The changed version: '#{user_input}!'"
else 
    print "Nope, no 's' or 'c' found"
end

1 个答案:

答案 0 :(得分:0)

请勿使用gsub的原位版本:

# user_input.gsub!(/s/, "th")
# user_input.gsub!(/c/, "s")

gsubbed = user_input.gsub(/s/, "th").gsub(/c/, "s")
puts "Changed version: '#{gsubbed}'"
puts "Original version: '#{user_input}'"

请注意函数名称中没有感叹号。