Hello everyone!
I'm trying to make a little grocery list to practice. My intention is to
make basically an array that you can add to, remove and display items.
My problem starts when after a person adds an item to the array for
example and the options come up again, instead of going back into the
cases the program just quits.
It kinda is like a loop where it keeps going around and around.. my
program just doesn't wanna do that. :D
Could someone explain where I went wrong with my codes?

list = Array.new(0)

display_proc = Proc.new {|x| puts x}

puts "What would you like to do with your shopping list?"

def opening_options
  puts
  puts "--ADD"
  puts "--REMOVE"
  puts "--CLEAR"
  puts "--DISPLAY"
  puts "--EXIT"

  @options = gets.chomp.downcase
end

opening_options

case @options
  when "add"
    puts "What item would you like to add?"
    add = gets.chomp
    list << add unless list.include?(add)

    opening_options

  when "remove"
    puts "What item would you like to remove?"
    list.each(&display_proc)
    remove = gets.chomp
    list.delete(remove)

    opening_options

  when "clear"
    puts "Are you sure you want to delete every item from your list?"
    puts "--YES/NO"
    clear = gets.chomp.downcase
    case clear
      when "yes" || "y"
        list.delete_if {true}
        opening_options
      when "no" || "n"
        opening_options
      else "ERROR! Unknown command!"
    end

  when "display"
    list.each(&display_proc)

    opening_options

  when "exit"
    system('quit')
  else "ERROR! Unknown command!"
end

-- 
Posted via http://www.ruby-forum.com/.