Gauche-tokyocabinet 0.1 をリリース
dbmライブラリのTokyo CabinetをGaucheから使う拡張ライブラリ、Gauche-tokyocabinet 0.1をリリースしました。現在はTokyo CabinetのB+木のライブラリのみに対応しています。
http://hayamin.com/files/Gauche-tokyocabinet-0.1.tgz
インストール
上記のファイルを適当な場所にダウンロードして解凍、./configure ; make ; make install でOK
使い方
Gaucheには標準でdbm用のインターフェースが用意されており、dbmの実装ごとのAPIのラッパーとして、各種dbmライブラリ(gdbm, qdbm, ndbm, ...)を透過的に扱うことができます。
ライブラリをロード
(use dbm) (use dbm.tokyocabinet)
データベースを開く
(define db (dbm-open <tcbdb> :path "test.db" :rw-mode :create)) ;; test.db というファイルができる
レコードを挿入
(dbm-put! db "key" "value")
レコードを取得
(dbm-get db "key") ;; => "value" (dbm-get db "foo") ;; 存在しないキー => error (dbm-get db "foo" #f) ;; 第三引数にデフォルト値を指定できる => #f
データベースに対するmap, for-each
(dbm-put! db "key1" "value1") (dbm-put! db "key2" "value3") (dbm-put! db "key3" "value3") (dbm-map db cons) ;; => (("key" . "value") ("key1" . "value1") ("key2" . "value3") ("key3" . "value3")) (dbm-for-each db (lambda (k v) (print k ":" v))) key:value key1:value1 key2:value3 key3:value3 ;; => #<undef>
データベースを閉じる
(dbm-close db)
Tokyo Cabinetはcloseしないとデータベースファイルが壊れてしまうので、使用後はcloseをわすれないようにしましょう。