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