Ruby Ruby Collections Ruby Hashes Working with Hash Keys

Matt Trussell
Matt Trussell
10,097 Points

The food variable was not found... Why not!

It works fine in Workspaces, but not in the code challenge. Very frustrating. If anybody can spot what is going on I would appreciate it.

I imagine it's a bug in the script that checks for the food variable, but I'm not seeing anybody else having problems.

Thanks!

hash.rb
hash = { "name" => "Bread", "quantity" => 1, "calories" => 100 }

if hash.has_key?("calories")
  hash.store("food", true)
end
Stefan Frank
Stefan Frank
5,990 Points

Hi Matt,

Using the has_key? method, check if the hash variable has a key called "calories". If it does, set a new variable called "food" to true.

It asks you to set a new variable and not create a new key with that value.

1 Answer

Caleb Kleveter
MOD
Caleb Kleveter
Treehouse Moderator 37,859 Points

You need to create a new variable, not add a new key to the hash:

hash = { "name" => "Bread", "quantity" => 1, "calories" => 100 }

if hash.has_key?("calories")
  food = true
end
Matt Trussell
Matt Trussell
10,097 Points

Thanks! Got it! I must've been sleepy... I appreciate the help.