#

Manual Reference Pages - get_args (3m_cli2)

### NAME

> get_args(3f) - [ARGUMENTS:M_CLI2] return keyword values when parsing command line arguments (LICENSE:PD)

### CONTENTS

> Synopsis
> Description
> Options
> Convenience Functions
> Example
> Author
> License

### SYNOPSIS

> get_args(3f) and its convenience functions:

>         use M_CLI2, only : get_args
>         ! convenience functions
>         use M_CLI2, only : dget, iget, lget, rget, sget, cget
>         use M_CLI2, only : dgets, igets, lgets, rgets, sgets, cgets

>         subroutine get_args(name,value,delimiters)

>          character(len=*),intent(in) :: name

>          type(${TYPE}),allocatable,intent(out) :: value(:)
>          ! or
>          type(${TYPE}),allocatable,intent(out) :: value

>          character(len=*),intent(in),optional :: delimiters

>          where ${TYPE} may be from the set
>                  {real,doubleprecision,integer,logical,complex,character(len=:)}

### DESCRIPTION

> GET_ARGS(3f) returns the value of keywords after SET_ARGS(3f) has been called to parse the command line. For fixed-length CHARACTER variables see GET_ARGS_FIXED_LENGTH(3f). For fixed-size arrays see GET_ARGS_FIXED_SIZE(3f).

> As a convenience multiple pairs of keywords and variables may be specified if and only if all the values are scalars and the CHARACTER variables are fixed-length or pre-allocated.

### OPTIONS

> NAME | name of commandline argument to obtain the value of
> VALUE | variable to hold returned value. The kind of the value is used to determine the type of returned value. May be a scalar or allocatable array. If type is CHARACTER the scalar must have an allocatable length.
> DELIMITERS
> | By default the delimiter for array values are comma, colon, and whitespace. A string containing an alternate list of delimiter characters may be supplied.

### CONVENIENCE FUNCTIONS

> There are convenience functions that are replacements for calls to get_args(3f) for each supported default intrinsic type

> > o | scalars -- dget(3f), iget(3f), lget(3f), rget(3f), sget(3f), cget(3f)
> > o | vectors -- dgets(3f), igets(3f), lgets(3f), rgets(3f), sgets(3f), cgets(3f)

> D is for DOUBLEPRECISION, I for INTEGER, L for LOGICAL, R for REAL, S for string (CHARACTER), and C for COMPLEX.

> If the functions are called with no argument they will return the UNNAMED array converted to the specified type.

### EXAMPLE

> Sample program:

>         program demo_get_args
>         use M_CLI2,  only : filenames=>unnamed, set_args, get_args
>         implicit none
>         integer                      :: i
>          ! Define ARGS
>         real                         :: x, y, z
>         real,allocatable             :: p(:)
>         character(len=:),allocatable :: title
>         logical                      :: l, lbig
>          ! Define and parse (to set initial values) command line
>          !   o only quote strings and use double-quotes
>          !   o set all logical values to F or T.
>         call set_args(’         &
>            & -x 1 -y 2 -z 3     &
>            & -p -1,-2,-3        &
>            & --title "my title" &
>            & -l F -L F          &
>            & --label " "        &
>            & ’)
>          ! Assign values to elements
>          ! Scalars
>         call get_args(’x’,x,’y’,y,’z’,z,’l’,l,’L’,lbig)
>          ! Allocatable string
>         call get_args(’title’,title)
>          ! Allocatable arrays
>         call get_args(’p’,p)
>          ! Use values
>         write(*,’(1x,g0,"=",g0)’)’x’,x, ’y’,y, ’z’,z
>         write(*,*)’p=’,p
>         write(*,*)’title=’,title
>         write(*,*)’l=’,l
>         write(*,*)’L=’,lbig
>         if(size(filenames) > 0)then
>            write(*,’(i6.6,3a)’)(i,’[’,filenames(i),’]’,i=1,size(filenames))
>         endif
>         end program demo_get_args

### AUTHOR

> John S. Urban, 2019

### LICENSE

> Public Domain

Nemo Release 3.1 | get_args (3m_cli2) | February 10, 2023

Generated by manServer 1.08 from 50409d9e-8a3e-4e16-add3-1b21c3c34202 using man macros.