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

SY LOC
SY LOC
3,233 Points

Using the values_at method, create an array called grocery_list with the value of the grocery_item hash at the"item" key

I came up with this:

grocery_item = { "item" => "Bread", "quantity" => 1, "brand" => "Treehouse Bread Company" }

if grocery_item.has_value?("Bread")
  grocery_item.store("food",  true)
  grocery_item.values_at( "item" => grocery_list)
end
hash.rb
grocery_item = { "item" => "Bread", "quantity" => 1, "brand" => "Treehouse Bread Company" }

if grocery_item.has_value?("Bread")
  grocery_item.store("food",  true)
  grocery_list.values_at( "item" => grocery_item)
end

1 Answer

Hi Sy Loc,

Actually you need to create new array "grocery_list" outside the if statement. The value_at method given by question challenge is to find key "item" inside grocery_item from the first line. Your code example is more like new key and value pairs way is not correct but very close you got it almost.

grocery_item = { "item" => "Bread", "quantity" => 1, "brand" => "Treehouse Bread Company" }

if grocery_item.has_value?("Bread")
  grocery_item.store("food",  true)
end

#Example
grocery_list = grocery_item.values_at("item")

Hope that helps. :)

SY LOC
SY LOC
3,233 Points

Thank you Salman for the explanation, I can't seem to get these stuff. Totally misread it, I suppose to 'create new array'.