This is a programming question.
I have a program, "project" that takes two matrixes (say, "matrix1" and
"matrix2") and a number (say, "n") and returns a result as a matrix (say,
"matrix0"). I have no trouble writing a program that calls the routine
via
. project matrix0 matrix1 matrix2 n
along the lines
. program project
. args result history ratios years
where "result" etc. are local macros corresponding to the arguments being
passed in the call or command line.
My problem is: What happens if sometimes when I want to run the routine,
I want to pass another argument, say, "matrix3", but sometimes I do not?
If I make this argument the last in the local macros, e.g.,
. program project
. args result history ratios years births
how can I see whether "matrix3" was passed to `births' or not? I.e.,
. project matrix0 matrix1 matrix2 n matrix3
versus
. project matrix0 matrix1 matrix2 n ?
Similarly, how can I allow "n" not to be specified in the call line?
All of this is simple with "syntax" instead of "args", except I do
not understand how to pass (call) matrixes using syntax...
Thanks in advance for any help....
--Herb Smith
Professor of Sociology and
Director, Population Studies Center
3718 Locust Walk CR
University of Pennsylvania
Philadelphia, PA 19104-6298
[email protected]
215.898.7768 (office)
215.898.2124 (fax)