This page contains automated test results for code from O'Reilly's Ruby Cookbook. If this code looks interesting or useful, you might want to buy the whole book.
Using Berkeley DB Databases | ||
---|---|---|
Code | Expected | Actual |
require 'dbm' DBM.open('random_thoughts') do |db| db['tape measure'] = "What if there was a tape measure you could use as a yo-yo?" db[23] = "Fnord." end DBM.open('random_thoughts') do |db| puts db['tape measure'] puts db['23'] end |
What if there was a tape measure you could use as a yo-yo? Fnord. |
What if there was a tape measure you could use as a yo-yo? Fnord. |
DBM.open('random_thoughts') { |db| db[23] } |
TypeError: can't convert Fixnum into String ... |
TypeError: can't convert Fixnum into String from (irb):11:in `[]' from (irb):11 from (irb):11 |
Dir['random_thoughts.*'] |
["random_thoughts.pag", "random_thoughts.dir"] | ["random_thoughts.pag", "random_thoughts.dir"] |
require 'bdb' db = BDB::Hash.create('random_thoughts2.db', nil, BDB::CREATE) db['Why do we park on a driveway but'] = 'it never rains but it pours.' db.close db = BDB::Hash.open('random_thoughts2.db', nil, 'r') db['Why do we park on a driveway but'] |
"it never rains but it pours." |
Error! (Exception?) Here's stdout: NotImplementedError: BDB needs compatible versions of libdb & db.h you have db.h version 4.4.16 and libdb version 4.4.20 from /usr/local/lib/site_ruby/1.8/i486-linux/bdb.so from (irb):13 NameError: uninitialized constant BDB from (irb):14 NoMethodError: undefined method `[]=' for nil:NilClass from (irb):15 NoMethodError: undefined method `close' for nil:NilClass from (irb):16 NameError: uninitialized constant BDB from (irb):17 NoMethodError: undefined method `[]' for nil:NilClass from (irb):18 |
db.close db = BDB::Btree.create('element_reviews.db', nil, BDB::CREATE) db['earth'] = 'My personal favorite element.' db['water'] = 'An oldie but a goodie.' db['air'] = 'A good weekend element when you're bored with other elements.' db['fire'] = 'Perhaps the most overrated element.' db.each { |k,v| puts k } |
air earth fire water |
Error! (Exception?) Here's stdout: NoMethodError: undefined method `close' for nil:NilClass from (irb):19 NameError: uninitialized constant BDB from (irb):20 NoMethodError: undefined method `[]=' for nil:NilClass from (irb):21 NoMethodError: undefined method `[]=' for nil:NilClass from (irb):22 |
db['water'] |
"An oldie but a goodie." |
Error! (Exception?) Here's stdout: |
db.close |
... |