8. display


#1

Hi I’m having trouble with this lesson. Here is my code:
movies = { Madagasgar_3: 4, Home: 3, Shaun_The_Sheep_The_Movie: 2 } puts "Night at the movies" choice = gets.chomp case choice when "add" puts "Enter a Title" title.to_sym = gets.chomp movies[title.to_sym].nil = movies when "rating" puts"Enter a rating" rating.to_i = gets.chomp movies = {} movies[title.to_sym].nil = rating.to_i when "update" puts "Enter a title" title = get.chomp if movies[title].nil puts "error" else movies[title.to_sym] end when "display" movies.each puts {movie}: #{rating} when "delete" puts "Deleted!" else puts”Error!" end


#2

@slasher2468

Instead of doing this to check if the title of the movie is already in the hash, you can do it with an if statement:

if movie[title.to_sym].nil?
    #if it does not exist, we prompt the user for the rating and enter the new movie in movies hash
else
    #we tell the user the movie is already in the hash
end

Remove the .nil we do not need to test if the user’s output is already in the hash since we already did it.

Do not put rating because this is referring to the switch statement. We only want the user to input Add, Delete or Update not rating. Beside, this part of code should be inside your if statement.