Ruby Ruby Collections Ruby Hashes Working with Hash Values

Harsh Mankad
Harsh Mankad
4,650 Points

question on code for adding a key - value pair

wondering what's the issue with my code here?

hash.rb
grocery_item = { "item" => "Bread", "quantity" => 1, "brand" => "Treehouse Bread Company" }
grocery_item.has_value?("Bread")
grocery_item["food"] = "true"

1 Answer

andren
andren
28,375 Points

There are two issues with your code:

  1. To run code conditionally you need to use a conditional statement like if or something along those lines. Placing a condition like grocery_item.has_value?("Bread") on a line of its own doesn't actually do anything useful, as Ruby will just throw away the result of the condition since you don't actually do anything with it.

  2. The task wants you to assign the Boolean value true to the food key, not a string containing the word true. Booleans are their own datatype, distinct from strings. So you should not use quotes when you type them in your code.

If you fix those two issues like this:

grocery_item = { "item" => "Bread", "quantity" => 1, "brand" => "Treehouse Bread Company" }
if grocery_item.has_value?("Bread") # Use if statement to conditonally run code below
  grocery_item["food"] = true # Set food key to Boolean value true
end

Then your code will pass the first task.

Harsh Mankad
Harsh Mankad
4,650 Points

Thanks for your help.