DBM
DBM — платформенно-независимый механизм для хранения строк в файле как в хеше. И ключ, и ассоциированные с ним данные должны быть строками. DBM можно считать простейшим движком баз данных (англ. database engine).
DBM в Ruby
Интерфейс dbm входит в стандартный интерфейс ruby. Для использования этого класса нужно создать объект DBM с указанием для него имени файла, а дальше работать с ним как с обычным хешем. По завершении работы файл следует закрыть.
#Подключение DBM
require 'dbm'
#Создание нового объекта. Имя файла - data
d=DBM.new("data")
#Присваивание ключу abc значения 123
d["abc"]="123"
#Закрытие DBM файла
d.close
#Попытка получения доступа к закрытому dbm файлу вызовет RuntimeError
puts d["abc"]
#Открытие ранее созданного dbm файла
e=DBM.open("data")
#Вывод ранее созданных значений
puts e["abc"]
#Преобразование в хеш. f = {"abc"=>"123"}
f=e.to_hash
#Закрытие DBM файла
e.close
Интерфейс к DBM реализован в виде одного класса, к которому подмешан модуль Enumerable. Два синонимичных метода класса new и open являются синглтонами, т. е. в любой момент времени можно иметь только один объект DBM, связанный с данным файлом. Почти все операции с хешем применимы к объекту dbm. Метод to_s возвращает строковое представление идентификатора объекта.
Ссылки
- Olsen, Bostic & Seltzer. Berkeley DB (недоступная ссылка). Архивировано 5 января 2013 года.