#author("2023-11-13T17:06:06+09:00","default:Miyashita","Miyashita") #author("2023-11-13T17:06:36+09:00","default:Miyashita","Miyashita") *format 文の個数指定部分に変数を使用する [#v2ee97ea] **ifort [#n44f97c9] #codeprettify(lang-fortran){{ format(200f10.3) }} 上記の200の部分を可変にしたいとき,例えばnx個のf10.3としたければ, #codeprettify(lang-fortran){{ format(<nx>f10.3) }} のように"<>"で変数を囲む.nxは整数でなければならない.~ 上記は残念ながら gfortran ではコンパイルできないらしい. ~ ~ **gfortran [#m6ad858c] write文のフォーマット指定にformat文を使用せず,文字列characterに書き込む.上のやり方よりちょっと面倒.~ #codeprettify(lang-fortran){{ character(len=64) :: fmt1 integer :: n_foobar }} と宣言した上で, #codeprettify(lang-fortran){{ write(fmt1,'(I0)') n_foobar fmt1 = '(1pe14.5,'//trim(fmt1)//'(",",1pe14.5))' write(51,fmt1) hogehoge, (foobar(i), i=1,n_foobar) }} とすると,fmt1は とすると,文字列 fmt1 は #codeprettify(lang-fortran){{ '(1pe14.5,<n_foobar>(",",1pe14.5))' }} となり,上のformat文を使ったのと同じようなことができる.もちろん ifort でもこれは可能だけど,上を使った方が楽.