¿Deben las claves y valores en un Berkeley DB en Ruby ser cadenas, no int, float o cualquier otro tipo?

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

  •  05-07-2019
  •  | 
  •  

Pregunta

Parece que si uso Berkeley DB (DBM) en Ruby, ¿las claves y los valores hash deben ser cadenas? ¿Pueden ser otro tipo de datos?

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

Resultado:

C:\>ruby test_dbm.rb
["wa", "2", "1", "123"]
["1259229787.686", "2.34", "2", "456"]
¿Fue útil?

Solución

Sí, almacenan valores clave como cadenas de bytes arbitrarias que pueden ser de longitud fija o de longitud variable. También me di cuenta recientemente de que tenía que usar bdb en uno de nuestros proyectos.

Y puede ver los valores clave en la línea de comando escribiendo

cadenas completas / bdb / archivo / ruta

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top