Hi! While shopping this weekend, I noticed lots of department stores
using an older 'template' on the checkout registers which had info
displaying and they simply typed in the info and entered or tabbed to
the next field, sorta like this:
First Name: Last Name:
Street: Town:
City: State:
How can I do this in Ruby? I can do simple "Your name? (user writes
name), then another question/user replies, another question/user
replies" but how can I display text and have the user go through to the
end? Hope this makes sense. Thanks!
You can do this sort of "fancy text terminal" in Ruby using libraries
such as "curses" or "ncurses", which are written in C and possess Ruby
bindings. There's a more elaborate library written in Ruby called
Highline, IIRC, which seems to handle most of the fiddly detail for
you. I also want to try this out some day, but I haven't got around to
it yet :).
···
On 11/28/06, woodyee <wood_yee12@hotmail.com> wrote:
How can I do this in Ruby? I can do simple "Your name? (user writes
name), then another question/user replies, another question/user
replies" but how can I display text and have the user go through to the
end? Hope this makes sense. Thanks!
Hi! This example was what I've been getting myself. What I want is when
you run the program, you have the 'questions' already displayed on the
screen.
Ex:
c:\ ruby test.rb
First Name: Last Name:
Town: City:
Thanks!
···
#!/usr/bin/ruby -w
class UserInterface
def process_item(s)
begin
print "Please enter your #{s}:"
reply = STDIN.readline.chomp
end while(reply.length == 0)
return reply
end
def get_user_data()
name = process_item("name")
address = process_item("address")
zip_code = process_item("zip code")
return name,address, zip_code
end
end
Hi! This example was what I've been getting myself. What I want is when
you run the program, you have the 'questions' already displayed on the
screen.
In that case, learn how to design graphical user interfaces. They come in
several varieties. An increasingly popular form is an HTML page that talks
to server-side code to process user entries.