| Subroutine  : |  | 
| url    : | character(len = *), intent(out) | 
| end    : | logical, intent(out) | 
変数探査サブルーチン
あるファイル名 urlBase に依存する変数すべてを取得するには、 まず GTVarSearch(urlBase)
(下記のサブルーチン) を呼び出し、 その後無限ループの中で GTVarSearch(url, end)
を呼び出します。 そうすることで url に1つ1つの変数名が返ります。 end
が真になったとき、すべての変数名を探索し終えたことになります。
例
   use gt4f90io
   character(len = STRING) :: filename, varname
   logical                 :: end
   write(*,*) "Enter file name: "
   read(*,*) filename
   call GTVarSearch(filename)
   do
     call GTVarSearch(varname, end)
     if (end) exit
     write(*, *) trim(varname)
   enddo
          [Source]
          
subroutine GTVarSearchNext(url, end)
  !
  !== 変数探査サブルーチン
  !
  ! あるファイル名 urlBase に依存する変数すべてを取得するには、
  ! まず GTVarSearch(urlBase) (下記のサブルーチン) を呼び出し、
  ! その後無限ループの中で GTVarSearch(url, end) を呼び出します。
  ! そうすることで url に1つ1つの変数名が返ります。
  ! *end* が真になったとき、すべての変数名を探索し終えたことになります。
  !
  !=== 例
  !
  !    use gt4f90io
  !    character(len = STRING) :: filename, varname
  !    logical                 :: end
  !
  !    write(*,*) "Enter file name: "
  !    read(*,*) filename
  !
  !    call GTVarSearch(filename)
  !    do
  !      call GTVarSearch(varname, end)
  !      if (end) exit
  !      write(*, *) trim(varname)
  !    enddo
  !
  use an_generic, only: var_search
  use gtvarsearch
  use dc_trace, only: beginsub, endsub
  character(len = *), intent(out):: url
  logical, intent(out):: end
  call beginsub('gtvarsearchnext')
  call var_search(an, url=url, end=end)
  call endsub('gtvarsearchnext', 'url=%c end=%y', c1=trim(url), L=(/end/))
end subroutine