From: Takahiro Kambe Date: 2001-04-06T15:27:22+09:00 Subject: [ruby-list:29135] Re: dbm.so はどうやって作るのでしょう? In message <200104061514.CEJ28229.OTJ@tdf.or.jp> on Fri, 6 Apr 2001 15:14:03 +0900, Shin-ichi Fukuda wrote: > 他のOSには,libndbm?ってライブラリがあって,普通は,それを呼び > 出すってことなんでしょうかね。ndbmのRubyでのクラスがdbmになって > いるのは歴史的な経緯ってやつでしょうか? dbm UNIXに古くからあるデータベース・ライブラリ ndbm UNIXに古くからあるデータベース・ライブラリで、dbmの改良版 いずれもキーとデータの合計が1024バイト以下だったか、未満だったかの制限 があります。この2つはファイルの形式そのものは同じで、file.dirと file.pagの組みから成ります。 db Berkeley DB gdbm GNU dbm これらはndbm等の欠点をなくしたり、より汎用的なアクセス方式を使える様に した(Berkley DB)ものですが、いずれも従来のndbmとAPI互換のライブラリを 提供しています。しかし、あくまでもAPI互換であって、ファイルの形式自体 は同じではありません。Berkley DBの方はfile.db、gdbmの方は何だった忘れ ましたが1つのファイルだったと記憶しています。 dbzってのもありますが、あれはちょっと特殊なので割愛します。 > ndbmってクラスを別に作ってdbmは,ndbm,gdbm,sdbmのどれかを呼び出 > すように作るのは,従来のプログラムに対して影響が大きいのでしょう perlではDBといったそういう枠組みがありますし、その方が嬉しい側面は多い ですが、まだ完成していないといった感じしたっけ? -- 神戸 隆博(かんべ たかひろ) at 仕事場