6/9 Delete - Delete is not deleting :)


#1

Hi there,

this is my code that seems to be valid:

movies = {
  	'batman' => 5,
  	'superman' => 3,
  	"surfeur d'argent" => 2
  }

puts "merci de choisir une action"
choice = gets.chomp

case choice 
  
	when "add"
  	puts "Quel film souhaitez vous ajouter?"
  	title = gets.chomp  		
    if movies[title].nil?  
      puts "Quelle note souhaitez vous lui attribuer?"
      rating = gets.chomp
      movies[title.intern] = rating.to_i
      puts "Film bien ajoute dans la base de donnes avec la note de 									#{rating}."
    else
      puts "Ce film est deja dans la base de donnees."
      puts "Il a obtenu la note de #{rating}"
    end 
 	
  when "update"
  	puts "La note de quel film souhaitez vous modifier?"
  	title = gets.chomp
  	if movies[title].nil?
      puts "Ce film n'existe pas dans la BdD, merci de bien vouloir d'abord l'ajouter."
    else 
      puts "quelle note souhaitez vous maintenant lui attribuer?"
      rating = gets.chomp
      movies[rating.intern] = rating
      puts "La note de #{title}  bien ete modifiee en #{rating}"
    end
  
  when "display"
    movies.each do |film, note| puts "#{film}: #{note}" 
    end
  
  when "delete"
  	puts "quel film souhaitez vous retirer de la BdD?"
  	title = gets.chomp
  		if movies[title.intern].nil?
        puts "le film #{title} n'est pas dans la BdD!"
      else 
  			movies.delete(title.intern)
        puts "Le film #{title} a bien ete efface de la BdD"
      end
  
  	movies.each do |film, note| puts "#{film}: #{note}" 
    end

  else 
  	puts "Error!"
end

As you can see it seems to return me ‘batman’ and it’s rating even if i asked to delete it…
Any explanation?


#2

Link to exercise needed for testing purposes. Please post.


#3

https://www.codecademy.com/courses/learn-ruby/lessons/a-night-at-the-movies/exercises/delete?action=resume_content_item


#4

Please post the code for your delete case (raw code, not a picture).


#5

English is not my maternal langage, i’m not sure about what you’re asking but i guess that’s:

when "delete"
  	puts "quel film souhaitez vous retirer de la BdD?"
  	title = gets.chomp
  		if movies[title.intern].nil?
        puts "le film #{title} n'est pas dans la BdD!"
      else 
  			movies.delete(title.intern)
        puts "Le film #{title} a bien ete efface de la BdD"
      end
  
  	movies.each do |film, note| puts "#{film}: #{note}" 
    end

#6

The delete case works as expected, even the each loop. What result are you getting?


#7

My code:

movies = {
  	'batman' => 5,
  	'superman' => 3,
  	"surfeur d'argent" => 2
  }

puts "merci de choisir une action"
choice = gets.chomp

case choice 
  
	when "add"
  	puts "Quel film souhaitez vous ajouter?"
  	title = gets.chomp  		
    if movies[title].nil?  
      puts "Quelle note souhaitez vous lui attribuer?"
      rating = gets.chomp
      movies[title.intern] = rating.to_i
      puts "Film bien ajoute dans la base de donnes avec la note de 									#{rating}."
    else
      puts "Ce film est deja dans la base de donnees."
      puts "Il a obtenu la note de #{rating}"
    end 
 	
  when "update"
  	puts "La note de quel film souhaitez vous modifier?"
  	title = gets.chomp
  	if movies[title].nil?
      puts "Ce film n'existe pas dans la BdD, merci de bien vouloir d'abord l'ajouter."
    else 
      puts "quelle note souhaitez vous maintenant lui attribuer?"
      rating = gets.chomp
      movies[rating.intern] = rating
      puts "La note de #{title}  bien ete modifiee en #{rating}"
    end
  
  when "display"
    movies.each do |film, note| puts "#{film}: #{note}" 
    end
  
  when "delete"
  	puts "quel film souhaitez vous retirer de la BdD?"
  	title = gets.chomp
  		if movies[title.intern].nil?
        puts "le film #{title} n'est pas dans la BdD!"
      else 
  			movies.delete(title.intern)
        puts "Le film #{title} a bien ete efface de la BdD"
      end
  
  	movies.each do |film, note| puts "#{film}: #{note}" 
    end

  else 
  	puts "Error!"
end

and when i delete batman:

merci de choisir une action
delete
quel film souhaitez vous retirer de la BdD?
batman
le film batman n’est pas dans la BdD!
batman: 5
superman: 3
surfeur d’argent: 2


#8

You’re using different keys, one is "batman" and the other is :batman


#9

Oh, of course… Thanks mate!

Topic closed


#10

This topic was automatically closed 7 days after the last reply. New replies are no longer allowed.