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

Dharma Teja
PLUS
Dharma Teja
Courses Plus Student 5,206 Points

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

can any one help this

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


if grocery_item.has_value?("Bread")

  grocery_item.store("food",true) 

end
grocery_item.value_at("item")

5 Answers

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

if grocery_item.has_value?("Bread")

grocery_item.store("food",true)

end grocery_list = Array.new grocery_list = [grocery_item.values_at("item")]

Nickolas Fuentes
Nickolas Fuentes
14,016 Points

This worked for me! =]

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

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

grocery_list = grocery_item.values_at("item")

Thank you for the help.

Jay McGavren
STAFF
Jay McGavren
Treehouse Teacher

I tried to run your code as it is right now and got this error: NoMethodError: undefined method 'value_at'. This is because there's a typo in the method name; it should be values_at.

Here's the previous wording on the second challenge task:

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

Admittedly, this is a little unclear. I've changed it to this:

Use the values_at method on the grocery_item hash to get an array consisting of a single value: the value of the "item" key. Store the returned array in a variable named grocery_list.

So you're close - you just need to fix the method name and then assign the return value to a grocery_list variable.

Muhammad sharifi
Muhammad sharifi
4,455 Points

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

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

grocery_list = grocery_item.values_at("item")

None of these methods have worked for me..? My current code is:

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

if grocery_item.has_value? ("Bread")

grocery_item.store ("food" , true)

end

grocery_list = grocery_item.values_at("item")