Müssen die Schlüssel und Werte in einer Berkeley DB Ruby sein Strings, nicht int, float, oder jede andere Art?
-
05-07-2019 - |
Frage
Es scheint, dass, wenn ich Berkeley DB (DBM) zum Ruby verwenden, muss der Hash der Schlüssel und Werte Strings sein? Können sie anderen Datentyp sein?
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
Ergebnis:
C:\>ruby test_dbm.rb
["wa", "2", "1", "123"]
["1259229787.686", "2.34", "2", "456"]
Lösung
Ja, tun sie Schlüsselwerte als beliebige Byte-Strings speichern, die Länge fester oder variabler Länge werden kann. Ich erkannte auch, dass vor kurzem, als ich BDB in einem unserer Projekte verwenden musste.
Und Sie können die Schlüsselwerte auf der Kommandozeile sehen, indem Sie
Strings voll / BDB / file / path
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow