Ruby上的Berkeley DB中的键和值必须是字符串,而不是int、float或任何其他类型吗?

Ruby上的Berkeley DB中的键和值必须是字符串,而不是int、float或任何其他类型吗?,ruby,types,berkeley-db,dbm,Ruby,Types,Berkeley Db,Dbm,似乎如果我在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

似乎如果我在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"]

是的,它们将键值存储为任意字节字符串,可以是固定长度或可变长度。我也意识到,最近我不得不在我们的一个项目中使用bdb

您可以通过键入在命令行上查看键值


字符串已满/bdb/file/path

strings。。。隐马尔可夫模型。。。它在Linux上吗?在Windows上,您知道该行是如何运行的吗?它位于unix命令行/终端上,并返回键和值