Stata The Stata listserver
[Date Prev][Date Next][Thread Prev][Thread Next][Date index][Thread index]

Re: st: RE: programs with options

From   Jean-Benoit Hardouin <>
Subject   Re: st: RE: programs with options
Date   Fri, 11 Jul 2003 17:06:13 +0200

See for example

program define testop

syntax varlist(min=2 numeric) [,option1 option2]
local nbitems : word count `varlist'

forvalues i=1/`nbitems' {
di "``i''"

.testop var1 var2 ,option1

.testop var1 var2, option1

.testop var1 var2,option1

How can I use the name of the second variable in my program without the comma if this one is not separated by a blank of the last variable ?
Jean-benoit Hardouin

On Fri, 11 Jul 2003 15:21:38 +0100, Nick Cox <> wrote:

Jean-Benoit Hardouin

When I write a program with options, I must put a space between the last variable and the comma, else Stata don't understand that the last variable is "varK" and not "varK,". How resolve this problem.

I have try to write my syntax line as :
syntax varlist[,option1 option2] instead of
syntax varlist [,option1 option2] but I obtain the same result.

Example with an xxx program :
xxx var1 var2 var3, option1 option2
=>, invalid name

xxx var1 var2 var3 , option1 option2
I think you must show us _exactly_ what your real program is. My guess is that you have a problem, but it is not this.

If I write a program

program p1 version 8 syntax varlist[,foo bar] di "is OK" end

then things work OK with

.. p1 mpg weight

.. p1 mpg weight,foo

.. p1 mpg weight, foo

.. p1 mpg weight , foo

.. p1 mpg weight ,foo

-- so in terms of both (a) how the program is written (b) what you fire at it, Stata is not fussed.

In practice, I would write something more like

program p1 version 8 syntax varlist [, foo bar] di "is OK" end

but that's personal style reference (and also -- and this is of some importance -- closer to Stata Corp's house style and the style of most Stata programmers).


* For searches and help try:

*   For searches and help try:

© Copyright 1996–2017 StataCorp LLC   |   Terms of use   |   Privacy   |   Contact us   |   What's new   |   Site index