Notice: On March 31, it was **announced** that Statalist is moving from an email list to a **forum**. The old list will shut down on April 23, and its replacement, **statalist.org** is already up and running.

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

From |
Nick Cox <njcoxstata@gmail.com> |

To |
statalist@hsphsun2.harvard.edu |

Subject |
Re: st: Uppercase arguments for programs |

Date |
Fri, 3 Feb 2012 02:55:31 +0000 |

Arguments are a wider class than options. Thus a command given the arguments "frog toad newt" makes no use of options, and the arguments need not even be variable names. Immediate commands are an important class. So, the answer to your question is yes, as upper case text can easily be passed to programs. Also, even with options, an example from the past lives into the present in what since Stata 8 is called -graph7- which has an option -Rescale-. But evidently the heart of your question is whether options defined by -syntax- can have upper case names, and to that I guess No in so far as upper case in a -syntax- statement indicates minimal abbreviation, not capitalization. I guess with some effort and clever use of -gettoken- rather than -syntax- that could be by-passed, but it seems like hard work even to contemplate. Nick On Fri, Feb 3, 2012 at 2:04 AM, Bert Lloyd <bert.lloyd.89@gmail.com> wrote: > Is there a way to use uppercase arguments for programs? The use of > uppercase letters to designate the required portion of the argument's > name seems to prevent this. > > Consider the following simple example: > > --- begin example code --- > > cap program drop uppercase_argument > program define uppercase_argument > syntax, K(integer) > > di "there are `K' right-hand-side variables" > di "there are `k' right-hand-side variables" > > local K = `k' > > di "there are `K' right-hand-side variables" > end > > capture noisily uppercase_argument, K(3) > di _rc > > capture noisily uppercase_argument, k(3) > > --- end example code --- > > This yields the following output: > > --- begin output --- > . capture noisily uppercase_argument, K(3) > option k() required > > . di _rc > 198 > > . > . capture noisily uppercase_argument, k(3) > there are right-hand-side variables > there are 3 right-hand-side variables > there are 3 right-hand-side variables > > --- end output --- > > There is a workaround that involves creating new local macros within > the program, e.g. in the above a line like > > local K = `k' > > but this is tedious and leads to errors, both from simple typos and > from Alice's White Knight "what the name of the song is called" type > mistakes confounding the macro with the name of the macro, etc. > > Many thanks in advance for any suggestions. * * For searches and help try: * http://www.stata.com/help.cgi?search * http://www.stata.com/support/statalist/faq * http://www.ats.ucla.edu/stat/stata/

**Follow-Ups**:**Re: st: Uppercase arguments for programs***From:*Nick Cox <njcoxstata@gmail.com>

**References**:**st: Uppercase arguments for programs***From:*Bert Lloyd <bert.lloyd.89@gmail.com>

- Prev by Date:
**Re: st: set logtype text, permanent doesn't stay permanent** - Next by Date:
**AW: st: RE: Use of data originating from SPSS** - Previous by thread:
**st: Uppercase arguments for programs** - Next by thread:
**Re: st: Uppercase arguments for programs** - Index(es):