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