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 Build a Grocery List Program Working with Hashes That Contain Arrays

shopping list

????

shopping_list.rb
def number1
grocery_list = { 'title' => 'Grocery List', "items" => [] }
return grocery_list
end

  def number2 
grocery_item = { 'title' => 'Bread', 'quantity' => 1 }
return grocery_item
  end 


list = number1()

list["items"].push(number2())

1 Answer

Hi there,

Your last line of code shows the method we need to adopt here.

We have a grocery_list which has an empty array within it, called items. We want to add grocery_item to that empty array.

This only needs one line of code; we don't need to define new methods or return anything.

First, select the items array of grocery_list. We can do that by using square brackets after grocery_list and putting 'items inside that:

grocery_list['items']

After this, use dot notation to push the grocery_item onto the items array:

grocery_list['items'].push(grocery_item)

I hope that makes sense.

Steve.