Isaiah Gilliland wrote:
I've been trying to figure out how to create a cli app. My first issue is to
create a prompt for the user to enter text so I can use  what they enter.
I've somewhat found out how to make outside commands to other programs, but
I've ben scouring the documentation for some time and I can't find what I'm
looking for. Is there anyone out there with an example I can use or the
right documentation I've missed. Loving Racket alot, take care.

The Racket Guide has a section on "Input and Output". It doesn't have the example you're looking for, but it has useful background info.

  http://docs.racket-lang.org/guide/i_o.html

When you run a command-line Racket program, (current-input-port) gets input from the terminal. You can use display or printf to emit a prompt, then use read-line to get the user input. Here's a little example. Save it in a file and then run "racket <filename>" in the shell.

  #lang racket
  (define (loop counter)
    (printf "~a# " counter)
    (let ([command (read-line (current-input-port) 'any)])
      (cond [(or (eof-object? command) (equal? command "quit"))
             (printf "Good-bye!\n")]
            [(string? command)
             (printf "You said, ~s\n" command)
             (printf "Say quit to end.\n")
             (loop (add1 counter))])))
  (loop 1)

To parse the commands, you can use regular expressions (eg regexp-match) or an LALR(1) grammar (search for "parser tools").

Ryan
_________________________________________________
 For list-related administrative tasks:
 http://lists.racket-lang.org/listinfo/users

Reply via email to