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"]
解决方案
是的,它们将键值存储为任意字节字符串,可以是固定长度或可变长度。我也意识到最近我必须在我们的一个项目中使用bdb。
您可以通过键入
在命令行上查看键值字符串已满/ bdb /文件/路径
不隶属于 StackOverflow