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

Erik Bonn
Erik Bonn
3,624 Points

Ruby collections. Assigning new values to a hash.

The Question reads: Using the has_value? method, check to see if the grocery_item hash has a value called "Bread". If it does, set a new key in the hash called "food" with the value of true.

grocery_item.has_value?("bread") since there is a value called bread, I initially wrote grocery_item = { "food" => "true" } but that didn't seem to work. Am I missing something? I tried writing the whole hash again with the food => true added in, but that didn't work either. thanks!

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

3 Answers

Ace Motanya
Ace Motanya
31,756 Points
grocery_item = { "item" => "Bread", "quantity" => 1, "brand" => "Treehouse Bread Company" }
if grocery_item.has_value?("Bread")
  grocery_item["food"] = true
end
Ace Motanya
Ace Motanya
31,756 Points

I created an if statement and I got the green light. I hope that helps.

Erik Bonn
Erik Bonn
3,624 Points

I can't seem to get the follow up question as well. it asks, Using the values_at method, create an array called grocery_list with the value of the grocery_item hash at the "item" key.

grocery_list = [{grocery_item}, 3]

Is that even close?

Ace Motanya
Ace Motanya
31,756 Points

try this out

grocery_list =  grocery_item.values_at('item')
Ace Motanya
Ace Motanya
31,756 Points

values_at method automatically creates an array so the brackets were not needed.

Erik Bonn
Erik Bonn
3,624 Points

thanks man appreciate it!