2009-11-26 22 views
0

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 d'autres types de données?Les clés et les valeurs d'une BD de Berkeley sur Ruby doivent-elles être des chaînes, pas des int, des floats ou tout autre type?

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"] 

Répondre

1

Oui, ils stockent des valeurs clés comme des chaînes d'octets arbitraires qui peuvent être de longueur fixe ou de longueur variable. J'ai aussi réalisé que récemment, j'ai dû utiliser bdb dans l'un de nos projets.

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

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

+0

cordes ... hmm ... est sur Linux? Sur Windows, savez-vous comment est la ligne? –

+0

son sur la ligne de commande/terminal Unix et renvoie la clé et les valeurs – nas