Ruby Ruby Collections Build a Grocery List Program Create a Method That Returns a Hash

Carlos Andres rodriguez
Carlos Andres rodriguez
4,849 Points

I don't understand what I am missing.

def create_shopping_list
  hash = { "name" => name, "items" => Array.new }
  return hash
end

should't this work?

shopping_list.rb
def create_shopping_list
  hash = { "name" => name, "items" => Array.new }
  return hash
end

2 Answers

KRIS NIKOLAISEN
PRO
KRIS NIKOLAISEN
Pro Student 50,936 Points

If you run the following (based on the video) in a workspace you will see:

def create_shopping_list
  hash = { "name" => name, "items" => Array.new }
  return hash
end

list = create_shopping_list()
puts list.inspect

1: from shop.rb:6:in <main>' shop.rb:2:increate_shopping_list': undefined local variable or method `name' for main:O bject (NameError)

Since name is undefined you could just delete it so your hash has items only.