Le chiavi e i valori in un DB Berkeley su Ruby devono essere stringhe, non int, float o qualsiasi altro tipo?

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

  •  05-07-2019
  •  | 
  •  

Domanda

Sembra che se uso Berkeley DB (DBM) su Ruby, le chiavi e i valori dell'hash devono essere stringhe? Possono essere altri tipi di dati?

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

Risultato:

C:\>ruby test_dbm.rb
["wa", "2", "1", "123"]
["1259229787.686", "2.34", "2", "456"]
È stato utile?

Soluzione

Sì, memorizzano i valori chiave come stringhe di byte arbitrarie che possono essere a lunghezza fissa o variabile. Mi sono anche reso conto che di recente ho dovuto usare bdb in uno dei nostri progetti.

E puoi vedere i valori chiave sulla riga di comando digitando

stringhe complete / bdb / file / path

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top