Fortran モジュール副プログラム(2)
Table of Contents
3.4 モジュール関数
関数はサブルーチンと類似しているが,通常,仮引数はintent(in)であり(引数は値の受け取りのみで,戻り値なし),関数が返す値は単一の変数である.実行文中に組み込み関数と同様に,直接関数を記述することができ,サブルーチンのようにcallする必要がなく,式の中で数学の「関数」のように使える.
module モジュール名 implicit none ! 未定義変数を避けるおまじない contains function 関数名(仮引数,・・・) result(関数が返す変数) ! 仮引数はintent(in)のみとする .... end function 関数名 end module モジュール名
3.5 配列を引数とする方法
配列を引数とする方法には「形状明示仮配列」を用いる方法と「形状引き継ぎ仮配列」を用いる方法がある.初心者は「形状明示仮配列」を使用するのがよい.これさえ使いこなせれば普通は十分である.
リスト3.6に取り組む
random_number(a(:,:))は2次元配列の全要素に0から1の乱数を設定する組み込み関数である.random_number(a(:,:))はrandom_number(a)と書いても同じ.いずれも配列aの実引数は全要素であることを意味する.
リスト3.7に取り組む
これはリスト3.6の内,配列要素の値を出力する部分をサブルーチン化したものである.
リスト3.12に取り組む
主プログラムは省略されているが,リスト3.11と同様である.