Les clés et les valeurs d'une base de données Berkeley sur Ruby doivent-elles être des chaînes, pas des caractères int, float ou tout autre type?

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

  •  05-07-2019
  •  | 
  •  

Question

Il semble que si j'utilise Berkeley DB (DBM) sur Ruby, les clés et les valeurs du hachage doivent être des chaînes? Peuvent-ils être un autre type de données?

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

Résultat:

C:\>ruby test_dbm.rb
["wa", "2", "1", "123"]
["1259229787.686", "2.34", "2", "456"]
Était-ce utile?

La solution

Oui, ils stockent les valeurs de clé sous forme de chaînes d'octets arbitraires pouvant être de longueur fixe ou de longueur variable. J'ai aussi réalisé cela récemment lorsque j'ai dû utiliser bdb dans l'un de nos projets.

Et vous pouvez voir les valeurs de clé en ligne de commande en tapant

chaînes complètes / bdb / fichier / chemin

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top