demo_get_args Program

Uses

Contents

Source Code


Variables

Type AttributesNameInitial
integer :: i
logical :: l
logical :: lbig
real, allocatable:: p(:)
character(len=:), allocatable:: title
real :: x
real :: y
real :: z

Source Code

           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)
           call get_args('l',l)
           call get_args('L',lbig)
           ! ALLOCATABLE STRING
           call get_args('title',title)
           ! NON-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).gt.0)then
              write(*,'(i6.6,3a)')(i,'[',filenames(i),']',i=1,size(filenames))
           endif
           end program demo_get_args