Overloading glob procedure.
type(string) :: astring
character(len=:), allocatable :: alist_chr(:)
type(string), allocatable :: alist_str(:)
integer, parameter :: Nf=5
character(14) :: files(1:Nf)
integer :: file_unit
integer :: f
integer :: ff
logical :: test_passed
do f=1, Nf
files(f) = astring%tempname(prefix='foo-')
open(newunit=file_unit, file=files(f))
write(file_unit, *)f
close(unit=file_unit)
enddo
call glob(self=astring, pattern='foo-*', list=alist_chr)
call glob(self=astring, pattern='foo-*', list=alist_str)
do f=1, Nf
open(newunit=file_unit, file=files(f))
close(unit=file_unit, status='delete')
enddo
test_passed = .false.
outer_chr: do f=1, size(alist_chr, dim=1)
do ff=1, Nf
test_passed = alist_chr(f) == files(ff)
if (test_passed) cycle outer_chr
enddo
enddo outer_chr
if (test_passed) then
test_passed = .false.
outer_str: do f=1, size(alist_str, dim=1)
do ff=1, Nf
test_passed = alist_str(f) == files(ff)
if (test_passed) cycle outer_str
enddo
enddo outer_str
endif
print '(L1)', test_passed
Glob search (character output), finds all the pathnames matching a given pattern according to the rules used by the Unix shell.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(string), | intent(in) | :: | self |
The string. |
||
character(len=*), | intent(in) | :: | pattern |
Given pattern. |
||
character(len=:), | intent(out), | allocatable | :: | list(:) |
List of matching pathnames. |
Glob search (string output), finds all the pathnames matching a given pattern according to the rules used by the Unix shell.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(string), | intent(in) | :: | self |
The string. |
||
character(len=*), | intent(in) | :: | pattern |
Given pattern. |
||
type(string), | intent(out), | allocatable | :: | list(:) |
List of matching pathnames. |