RubyのBerkeley DBのキーと値は、int、float、またはその他の型ではなく、文字列でなければなりませんか?
-
05-07-2019 - |
質問
RubyでBerkeley DB(DBM)を使用する場合、ハッシュのキーと値は文字列でなければなりませんか?他のデータ型にできますか?
require 'dbm'
d = DBM.open('test1')
d[1] = 2
d[123] = 456
d[2] = 2.34
d['wa'] = Time.now.to_f
p d.keys
p d.values
結果:
C:\>ruby test_dbm.rb
["wa", "2", "1", "123"]
["1259229787.686", "2.34", "2", "456"]
解決
はい、キー値は固定長または可変長の任意のバイト文字列として保存されます。また、最近、プロジェクトの1つでbdbを使用しなければならなかったことに気付きました。
そして、次のように入力することにより、コマンドラインでキー値を確認できます
strings full / bdb / file / path
所属していません StackOverflow