RubyのBerkeley DBのキーと値は、int、float、またはその他の型ではなく、文字列でなければなりませんか?

StackOverflow https://stackoverflow.com/questions/1802756

  •  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

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top