gtool4/Fortran90 reference - library - inquire

gtool4/Fortran 90 リファレンスマニュアル

# 問い合わせ: Inquire

2001年10月01日 豊田英司

## 概要

変数に関する問い合わせには Get_Slice, Inquire, Dimname_to_Dimord があります。

Inquire サブルーチンは INQUIRE 文を模して作られたもので、オブジェクト・変数・属性に関する問い合わせを行います。文字型の実引数の長さが足りないと、結果が損なわれます。

## 書式

### 文字型または整数型スカラの問い合わせ

    subroutine Inquire(var, xtype, name, url, &
        & rank, alldims, allcount, size, growable)
        type(gt_variable), intent(in):: var
        ! 外部型の名前
        character(len=*), intent(out), optional:: xtype
        ! name は変数名の最小の単位を返す。
        ! ファイル名を含まないためプログラム内での一意性は保証されない。
        character(len=*), intent(out), optional:: name
        ! url はファイル名のついた変数名を返す。プログラム内で
        ! 一意である。
        character(len=*), intent(out), optional:: url
        ! コンパクト(縮退)次元を数えない, 次元の数
        integer, intent(out), optional:: rank
        ! 縮退次元を含む全次元数。dimord には基本的にこちらを使う
        integer, intent(out), optional:: alldims
        ! 変数が次元変数である場合、総数を返す。エラーはゼロ。
        integer, intent(out), optional:: allcount
        ! 変数の入出力領域の大きさ。
        integer, intent(out), optional:: size
        ! 変数が次元変数である場合、自動拡張可能か否かを返す。
        ! そうでない場合は不定。
        logical, intent(out), optional:: growable
    end subroutine

### 整数型配列の問い合わせ

    subroutine Inquire(var, allcount)
        type(GT_VARIABLE), intent(in):: var
        ! alldims 個必要
        integer, intent(out), optional:: allcount(:)
    end subroutine

### 次元に関する問い合わせ

    subroutine Inquire(var, allcount)
        type(GT_VARIABLE), intent(in):: var
        ! alldims 個必要
        integer, intent(out), optional:: allcount(:)
    end subroutine

### 属性に関する問い合わせ

    subroutine Inquire(var, attrname, xtype)
        type(GT_VARIABLE), intent(in):: var
        character(len=*), intent(in):: attrname
        character(len=*), intent(out), optional:: xtype
    end subroutine

属性に関してはいまのところ外部型だけを問い合わせることができます。