PerlにあるハッシュのようなものをDelphiで実現するには、どのようなテクニックを
使えばいいのでしょうか?
P.S.
Perlのハッシュとは、キーと値が対になった項目です。
TStringList を使います。Names と Values プロパティーをヘルプで
読んでください。
うんとさん、ありがとうございました。
TStringListは今まで山のように使ってきましたが、このような使い方ができるとは知りませんでした。
ただ、これですと、キーの文字列の中に = が使えないんですねぇ。
ソースを参照していただければ分かりますがTStringListのValuesプロパティはIndexOfName()を呼び出しているのですが、このルーチンがベタサーチなので速度的に速くないと思われます。
IniFiles.pasの中でTMemIniFileの使用しているTHashedStringListを利用すればより高速にアクセスできるのではないでしょうか?
THashedStringListはTStringListから派生しているのでTStringListと同じ使い方が出来ます。
TStringListでもSortedをTrueにしてFindを使って検索すればバイナリサーチするので普通に使うよりは早く使えます
まあ、ちょっと面倒ですが
残念ながらTStringListのFindではキーと値の組み合わせのキーでの検索が出来ません。
ああ、そうでした。すみません勘違いしていました。
ツイート | ![]() |