Ruby によるデータの読み込みは、open -- end を使用し、
open('ファイル名','r') do |ファイル変数|
while 内部変数 = ファイル変数.gets
if /(1列目の正規表現)\s+(2列目の正規表現).../ =˜ 内部変数
格納する変数 = $1
格納する変数 = $2
:
end
end
end
であった。形式は学部では、TAB 区切りによるものを、正規表現を使用して分解した。 数値列は \d+ や \d+\.\d+ を用い、to_i または to_f 変換を必要とした。
Fortran では、open -- read -- close を使用する。データを読み込む例を見てみよう。
program read
implicit none
integer :: fr = 15, fw = 26
integer a(0:2,0:3), i, j
real(8) r(0:2,0:3)
open(fr, file = 'test.dat')
read(fr, *) a(0,0:3)
read(fr, *) a(1,0:3)
read(fr, *) a(2,0:3)
close(fr)
do i = 0, 2
write(*,*) a(i,:)
end do
do i = 0, 2
do j = 0, 3
r(i,j) = dble(a(i,j))
end do
end do
open(fw, file = 'result.dat')
do i = 0, 2
write(fw,'(100e12.4)') r(i,:)
end do
close(fw)
end program read
データは整数値を読み込み、dble 関数で整数値を倍精度変換している。 read / write の () の左側は、ファイルのラベルで、 5, 6 以外の番号を自由につけてよい。5 は標準入力 (キーボード入力)、 6 は標準出力 (画面出力) である。read(5,*) は read(*,*), write(6,*) は write(*,*) である。 読み込み専用のファイルには、action='read' などのオプションや、 ファイルの読み込み確認のための iostat なども付け加えることができる。