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"]
有帮助吗?

解决方案

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

您可以通过键入

在命令行上查看键值

字符串已满/ bdb /文件/路径

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top