Welcome to the Treehouse Community

The Treehouse Community is a meeting place for developers, designers, and programmers of all backgrounds and skill levels to get support. Collaborate here on code errors or bugs that you need feedback on, or asking for an extra set of eyes on your latest project. Join thousands of Treehouse students and alumni in the community today. (Note: Only Treehouse students can comment or ask questions, but non-students are welcome to browse our conversations.)

Looking to learn something new?

Treehouse offers a seven day free trial for new students. Get access to thousands of hours of content and a supportive community. Start your free trial today.

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'.