Müssen die Schlüssel und Werte in einer Berkeley DB Ruby sein Strings, nicht int, float, oder jede andere Art?

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

  •  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"]
War es hilfreich?

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
scroll top