材料


Kyoto Cabinet: a straightforward implementation of DBM
京都収納棚紅玉束縛: Rubyで簡単、DBプログラミング – mixi Engineers' Blog


インストール

brew install kyoto-cabinet
gem install kyotocabinet-ruby


試す


memo.rb
require 'rubygems'
require 'kyotocabinet'

db = KyotoCabinet::DB.new

unless db.open('memo.kch', KyotoCabinet::DB::OWRITER | KyotoCabinet::DB::OCREATE)
printf("DB open error: %s\n", db.error)
end

case ARGV.size
when 0
db.each do |k,v|
puts "#{k} : #{v}"
end
puts "(#{db.count} items)"
when 1
puts db[ARGV[0]]
when 2
k,v = ARGV[0..1]
db[k] = v
puts "#{k} = #{v}"
end

unless db.close
printf("DB close error: %s\n", db.error)
end



keyもvalueも文字列だけでなく数値やtrue/falseが入れれた。

こういうのが動いて驚いた
db[true] = false
puts db[true]