2004年08月08日 森川靖大
dc_url は変数 URL 文字列を操作するためのサブルーチン群を持つモジュールです。 gtool4 で言う「変数」に関しては gtool 変数名 を参照してください。
subroutine UrlSplit(fullname, file, var, attr, iorange) character(len = *), intent(in) :: fullname character(len = *), intent(out), optional :: file, var, attr, iorange end subroutine
fullname で与えられる変数 URL を、ファイル名 file、 変数名 var、属性名 attr、入出力範囲指定 iorange に分解して返します。
function UrlMerge(file, var, attr, iorange) result (result) use dc_types, only: string character(len = string) :: result character(len = *), intent(in) :: file character(len = *), intent(in) :: var character(len = *), intent(in) :: attr character(len = *), intent(in) :: iorange end function function UrlMerge(file, var) result (result) use dc_types, only: string character(len = string) :: result character(len = *), intent(in) :: file character(len = *), intent(in) :: var end function
ファイル名 file、変数名 var、属性 attr、入出力範囲 iorange を結合して relsult として返します。
function UrlResolve(relative, base) result(result) use dc_types, only: string character(len = STRING) :: result character(len = *), intent(in) :: relative character(len = *), intent(in) :: base end function
relative で与えられる変数 URL が完全でない (ファイル名、 変数名、属性名、入出力範囲指定のどれかが無い) 場合に、 base から補完します。
subroutine Url_Chop_iorange(fullname, iorange, remainder) character(len = *), intent(in) :: fullname character(len = *), intent(out) :: iorange, remainder end subroutine
fullname で与えられる変数 URL から入出力範囲指定 iorange を除去し、remainder に返します。
interface operator(.OnTheSameFile.) module procedure UrlOnTheSameFile end interface logical function UrlOnTheSameFile(url_a, url_b) result(result) use dc_types, only: string character(len = *), intent(in) :: url_a character(len = *), intent(in) :: url_b end function
url_a で与えられる変数 URL と url_b で与えられる変数 URL
とが同じファイルを指しているかどうか判定します。
利用者定義演算子 .OnTheSameFile.
としても定義されているので、演算子として使用することが可能です。