> The prompt method should take a command (add, print, remove,  find,
> exit) then depending on which command ask the user for required
> information.   The command prompts should run continuously until °»exit°…
> is entered. The add command which is the most complicated of the five
> works fine for a single time.  I can°«t figure out how to implement a
> while condition to keep it going without getting errors.
>
About this part I think input "command" and its params once will be more
flexible.
add [Aaron Haas]{1144 S. Fourth, Columbus, Ohio, 43209}
more acceptable than:
[
add
Enter first name:
Aaron
...blah
...blah
]

u can use regexp to make friendly command line
<command> [<name info>] {<addr info>}
\[(.*)\]\s*\{(.*)\}\s*(\+\d{,10}\+)?

As "Robert" said,seperate detail processing code from user interface is good for extension and maintanace.

Also from UE(user experience) provide more foolish inputting way,just pick up useful information in clutter,it's painful for me to adjust your code when I use your defined class like Address,Person...That's too much fields need to be filled in.Any way if you provide GUI it's another thing,but now in CLI,the simple is the best.

I made a Command class put all cmd processing code in it.Defining a class method to provide a command list.Left "prompt" as a command dispatcher.
U can take a look :) Hope that can help u.

Attachments:
http://www.ruby-forum.com/attachment/5383/problem101114.rb