Thank you, Greg, the the explanation of `current-command-line-arguments'. Now things make sense.
And also thanks for your separate message where you pointed out Racket's `command-line' utility to me. I had already started writing an ad hoc command-line parser for my application when your message arrived. I am going to switch to Racket's parser. Rouben On Mon, Aug 20, 2012 at 08:40:54AM -0400, Greg Hendershott wrote: > > Racket has the idea of `parameters'. By convention, these are named > current-xyz. Examples include current-input-port, current-output-port, > and current-command-line-arguments. > > Parameters are functions you can call to set or get a value. To get > the current value, call with no arguments. To set, call with the new > value. (That's why you're seeing the function documented both ways.) > > Parameters are an alternative to using a global variable and `set!'. > There is a `parameterize' form to make it easier to temporarily change > the value and have it restored. Also they are per thread. > > Parameters are described here: > http://docs.racket-lang.org/guide/parameterize.html > > On Mon, Aug 20, 2012 at 3:00 AM, Rouben Rostamian <rostam...@umbc.edu> wrote: > > Oh, the use of (current-command-line-arguments) is a terrific > > idea and a great improvement over what I was trying to do. > > Thanks for pointing it out. > > > > This brings me to a tangentially related question. > > > > I am using Racket v5.1.3. Searching the manuals for > > current-command-line-arguments leads to the following: > > > > | (current-command-line-arguments) > > | -> (vectorof (and/c string? immutable?)) > > | > > | (current-command-line-arguments argv) -> void? > > | argv : (vectorof (and/c string? immutable?)) > > | > > | A parameter that is initialized with command-line arguments > > | when Racket starts (not including any command-line arguments > > | that were treated as flags for the system). > > > > That's all it says. I understand the first form: it says > > (current-command-line-arguments) returns the command-line > > arguments in a vector. I don't understand the second form. > > What is (current-command-line-arguments argv) supposed to do? > > > > -- Rouben ____________________ Racket Users list: http://lists.racket-lang.org/users