Ruby Ruby Collections Ruby Hashes Working with Hash Values

Dharma Teja
PRO
Dharma Teja
Pro 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")

4 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,015 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")

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,454 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")