gtool5 Fortran 90/95 ライブラリ 1.0.0-rc5
English
Loading...
Searching...
No Matches
gtvartmpnam.f90 File Reference

変数名の自動作成 More...

Go to the source code of this file.

Functions/Subroutines

subroutine gtvartmpnam (file, base, result)

Detailed Description

変数名の自動作成

Author
Eizi TOYODA, Yasuhiro MORIKAWA

このサブルーチンは gtdata_generic から gtdata_generic#GTDataTmpNam として提供されます。

Definition in file gtvartmpnam.f90.

Function/Subroutine Documentation

◆ gtvartmpnam()

subroutine gtvartmpnam ( character(len = *), intent(in) file,
character(len = *), intent(in) base,
character(len = *), intent(out) result )

一意な変数名を作成

ファイル名 file と変数名 base から file@base を作成して result に返す。 file が空文字の場合は gtool.nc がファイル名として代用され、 base が空文字の場合は tmp が変数名として代用される。

Parameters
[in]fileファイル名
[in]baseベース変数名
[out]result生成された一意な変数URL

Definition at line 46 of file gtvartmpnam.f90.

47 use dc_types, only: string
48 use dc_url, only: urlmerge
49 use gtdata_generic, only: open, close
50 use gtdata_types, only: gt_variable
51 implicit none
52 character(len = *), intent(in):: file
53 character(len = *), intent(in):: base
54 character(len = *), intent(out):: result
55 type(GT_VARIABLE):: var
56 integer:: n
57 logical:: failed
58 character(len = STRING):: fnam, vnam, vnambase
59continue
60 if (file == "") then
61 fnam = "gtool.nc"
62 else
63 fnam = file
64 endif
65 if (base == "") then
66 vnambase = "tmp"
67 else
68 vnambase = base
69 endif
70 n = 0
71 do
72 n = n + 1
73 ! compatibility note (2001-12-02, TOYODA Eizi)
74 ! dc_string の toChar を使いたいのだが FQS Fortran が失敗する
75 write(unit=vnam, fmt="(i32)") n
76 vnam = trim(vnambase) // trim(adjustl(vnam))
77 result = urlmerge(file=fnam, var=vnam)
78 call open(var, result, writable=.false., err=failed)
79 if (failed) return
80 call close(var)
81 enddo
種別型パラメタを提供します。
Definition dc_types.f90:55
integer, parameter, public string
文字列を保持する 文字型変数の種別型パラメタ
Definition dc_types.f90:137
変数 URL の文字列解析
Definition dc_url.f90:61

References dc_types::string.