以下、2 次元配列を行列に見立てることを考える。 Ruby 言語では、length あるいは size method を使うことにより、 代入した配列の次元を知ることができた。
#!/usr/koeki/bin/ruby
a = [1,2,3,4,5,6,7,8,9,0]
b = [a,a]
#p a.size
#p a.length
#p b.length
#p b.size
puts "a の大きさ(length) #{a.length}\t a の大きさ(size) #{a.size}"
print "b の大きさ(length) ", b.length, "\t b の大きさ(size) ", b.size, "\n"
a には 1 次元配列を、b は a から 2 次元配列を作り、それぞれの大きさを調べた。 size も length も働きは同じである。
Ruby 言語では、print や puts など、いろいろな記法で出力できる。 学部では printf("変数の説明 %d\n", var) を使用した。 ここでは、fortran と似たような記法で記してみた。 "\n" は改行文字であり、puts では行末に改行文字が入るが、 print は文末に加えておく必要があった。
Fortran には method の代わりに、組み込み関数を使って、 配列の大きさを知ることができる。 また、fortran でも実行結果の出力に説明を加えることができる。
program size
integer :: a(0:9) = (/ 1,2,3,4,5,6,7,8,9,0 /)
integer i, j
integer b(0:9,0:1)
b(0:9, 0) = a(0:9)
b(0:9, 1) = a(0:9)
!write(*,*) (b(0:9,i), i = 0,1)
!write(*,10i4) (b(0:9,i), i = 0,1)
write(*,*) 'a の大きさ shape(a) ', shape(a)
write(*,*) 'b の大きさ shape(b) ', shape(b)
end program size
2 階建ての 10 部屋のアパートが 2 次元配列 b である。配列の並びを調べて出力する部分はコメントアウトしたが、 外して出力の違いを調べておこう。前者が今までの記法による出力であるが、 隙間が大きいので、後者では出力する字数を制限する方法を取った。
write(*,'(データ数i空ける文字数)') : 整数値の場合
write(*,'(データ数e空ける文字数.小数桁数)') : 小数値の場合