我试图在电影中完成一个夜晚"关于CodeCademy的Ruby课程,遇到了一个小问题:如果我在downcase!
上使用choice
并且输入是小写的,我的代码不会通过 - 如果它包含大写字母或者完全是大写,它工作正常。
这是我的代码:
movies = {
Foo: "Bar",
}
puts "Commands:"
puts "Add - Add a movie and its rating."
puts "Update - Update a movie's rating."
puts "Display - Display all movies and their ratings."
puts "Delete - Delete a movie and its rating."
choice = gets.chomp.downcase!
case choice
when 'add'
puts "Added!"
when 'update'
puts "Updated!"
when 'display'
puts "Movies!"
when 'delete'
puts "Deleted!"
else
puts "Error!"
end
帮助?
答案 0 :(得分:4)
尝试使用#downcase
代替#downcase!
。
您的代码未传递的原因是因为在已经小写的字符串上使用#downcase!
时,返回的结果为nil
,然后将其分配给您的choice
变量。
使用#downcase
将返回字符串本身,即使提供的字符串已经是小写的。
希望它有所帮助!