Welcome to the Treehouse Community

Want to collaborate on code errors? Have bugs you need feedback on? Looking for an extra set of eyes on your latest project? Get support with fellow developers, designers, and programmers of all backgrounds and skill levels here with the Treehouse Community! While you're at it, check out some resources Treehouse students have shared here.

Looking to learn something new?

Treehouse offers a seven day free trial for new students. Get access to thousands of hours of content and join thousands of Treehouse students and alumni in the community today.

Start your free trial

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,558 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.