Ruby:如果我使用“.downcase!”,我的代码不会通过
Ruby: My code doesn't pass if I use `.downcase!`
我正在尝试完成 CodeCademy 上的 "A Night at the Movies" Ruby 课程,遇到一个小问题:如果我在 [=13] 上使用 downcase!
,我的代码不会通过=] 并且输入是小写的——如果它包含一个大写字母或完全是大写的,它工作正常。
这是我的代码:
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
帮忙?
尝试使用 #downcase
而不是 #downcase!
。
您的代码未通过的原因是因为在已经小写的字符串上使用 #downcase!
时,结果 returned 是 nil
,然后将其分配给您的choice
变量。
使用 #downcase
将 return 字符串本身,即使提供的字符串已经小写。
希望对您有所帮助!
我正在尝试完成 CodeCademy 上的 "A Night at the Movies" Ruby 课程,遇到一个小问题:如果我在 [=13] 上使用 downcase!
,我的代码不会通过=] 并且输入是小写的——如果它包含一个大写字母或完全是大写的,它工作正常。
这是我的代码:
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
帮忙?
尝试使用 #downcase
而不是 #downcase!
。
您的代码未通过的原因是因为在已经小写的字符串上使用 #downcase!
时,结果 returned 是 nil
,然后将其分配给您的choice
变量。
使用 #downcase
将 return 字符串本身,即使提供的字符串已经小写。
希望对您有所帮助!