gtool5 Fortran 90/95 ライブラリ 1.0.0-rc5
English
Loading...
Searching...
No Matches
dc_hash Module Reference

ハッシュ (連想配列) モジュール More...

Data Types

type  hash
interface  dchashput
interface  dchashnumber
interface  dchashputline
interface  dchashrewind
interface  dchashnext
interface  dchashget
interface  dchashdelete
interface  put
interface  number
interface  putline
interface  rewind
interface  next
interface  get
interface  delete

Detailed Description

ハッシュ (連想配列) モジュール

Author
Youhei SASAKI, Yasuhiro MORIKAWA

スクリプト言語ではおなじみとなっているハッシュ (連想配列) を提供します.

ただし, 現在「値」として与えられるのは文字型のみです.

手続一覧

手続名 説明
DCHashPut ハッシュにキーと値を付加
DCHashGet キーを与え, ハッシュ内の関連する値を取得
DCHashRewind ハッシュ内全体を探査するための初期化
DCHashNext Rewind 参照
DCHashDelete キーを与え, ハッシュ内の関連する値を削除
DCHashNumber ハッシュのサイズを返す
DCHashPutLine ハッシュの内容を標準出力に出力 (デバック用)

使用方法

type(HASH):: hashv
character(len = STRING):: key, value
logical:: end
call dchashput( hashv = hashv, key = 'key1', value = 'val1')
call dchashput( hashv = hashv, key = 'key2', value = 'val2')
call dchashput( hashv = hashv, key = 'key3', value = 'val3')
call dchashget( hashv = hashv, key = 'key1', value = value )
write(*,*) 'key=' // 'key1' // ', value=' // trim(value)
write(*,*) 'number(hashv)=', dchashnumber( hashv )
call dchashdelete( hashv = hashv, key = 'key1')
call dchashrewind( hashv )
do
call dchashnext( hashv = hashv, key = key, value = value, end = end)
if (end) exit
write(*,*) 'key=' // trim(key) // ', value=' // trim(value)
enddo
call dchashdelete( hashv )
ハッシュ (連想配列) モジュール
Definition dc_hash.f90:143
種別型パラメタを提供します。
Definition dc_types.f90:55

以下のように出力されます.

key=key1, value=val1
number(hashv)= 3
key=key2, value=val2
key=key3, value=val3
Note
「ハッシュ」という命名について

スクリプト言語 Ruby では, 連想配列の内部にデータ検索 アルゴリズム「ハッシュ」が利用されることから, そのクラス名に「Hash」という名前がついている. 従ってアルゴリズムとしてハッシュを用いていないこのモジュールの名称 が「dc_hash」であることは本来ふさわしくないのだが, 適切な英名が無い事から, このような名称となっている.

Note
後方互換

バージョン 20071009 以前に利用可能だった以下の手続きは, 後方互換のため, しばらくは利用可能です.

  • Put, PutLine, Get, Rewind, Next, Delete, Number