[Swift-devel] variable command line options

Yong Zhao yongzh at cs.uchicago.edu
Fri Mar 2 12:58:42 CST 2007


I had some sort of discussion with Mihael about that.

If you have an application, for instance, like "ls", you have tons of
options, but you don't use them all, so you might end up defining
different procedures for different groups of parameters, which may not be
desirable.

So what we talked about was to have optional mapping at the command line,
using some syntax like the unix man page for options, for instance:

(....)myproc(string lv, string tv)
app{
  myapp ["-l" lv] ["-t" tv];
}

so if lv has value, the whole option for -l goes in, otherwise, it is
ignored

Yong.

On Fri, 2 Mar 2007, Veronika  V. Nefedova wrote:

> At 12:32 PM 3/2/2007, Ben Clifford wrote:
>
>
> >On Thu, 1 Mar 2007, Veronika  V. Nefedova wrote:
> >
> > > The application I am working with accepts a variable number of arguments:
> > > could be 10, could be 15 (i.e. some of them are optional). I need to
> > call this
> > > application N times with 17 input command line parameters, M times with 18
> > > parameters, and X times with 20 parameters. Do I need to define 3
> > functions,
> > > one for each set of parameters ? Or there is a better way ? Input
> > parameters
> > > is a combination of  strings, filenames and stdin input.
> >
> >it is possible to make SwiftScript procedures have parameters with default
> >values. that isn't exactly what you are asking for, but might be related:
> >
> >http://www.ci.uchicago.edu/swift/guides/tutorial.php#id2784846
> >
>
> yes, I am already doing that since my apps have a lot of default parameters.
>
> >But that doesn't let you change the parameters going to the application
> >itself.
> >
> >Can you give a couple of example command-lines and explain what the
> >differences are?
>
>
> The input parameters to the application are keyword-driven:
>
> This is how the app could be called:
>
> charmm pstep:700 dirname:solv_chg_a8 system:solv_m001 stitle:m001
> cpddata:../alamines rtffile:parm03_gaff_all.rtf
> paramfile:parm03_gaffnb_all.prm gaff:m001_am1 vac: restart:NONE
> inputdir:../inputs faster:off rwater:15 chem:chem minstep:0 rforce:0
> ligcrd:lyz stage:chg urandseed:762192 < solv.inp > solv_chg_a8.out
>
> or this way:
>
> charmm pstep:700 dirname:solv_repu0_0.2_a1 system:solv_m001 stitle:m001
> cpddata:../alamines rtffile:parm03_gaff_all.rtf
> paramfile:parm03_gaffnb_all.prm gaff:m001_am1 vac: restart:NONE
> inputdir:../inputs faster:off rwater:15 chem:chem minstep:0 rforce:0
> ligcrd:lyz stage:repu rcut1:0 rcut2:0.2 urandseed:1522709 < solv.inp >
> solv_repu0_0.2_a1.out
>
> Or this way:
>
> charmm system:solv_m001 title:solv stitle:m001 rtffile:parm03_gaff_all.rtf
> paramfile:parm03_gaffnb_all.prm gaff:m001_am1 nwater:400 ligcrd:lyz
> rforce:0 iseed:3131887 rwater:15 nstep:100 minstep:100 skipstep:100
> startstep:10000 < equil_solv.inp > equil_solv.out
>
>
> Some of these parameters are constants (default), but majority are not. And
> the number of those that change vary from call to call.
>
> Nika
>
>
> >--
>
>
> _______________________________________________
> Swift-devel mailing list
> Swift-devel at ci.uchicago.edu
> http://mail.ci.uchicago.edu/mailman/listinfo/swift-devel
>



More information about the Swift-devel mailing list