【问题标题】:Why when using DBM with Ruby, db[1] = 2 is ok, but print db[1] will give error?为什么在 Ruby 中使用 DBM 时,db[1] = 2 是可以的,但 print db[1] 会报错?
【发布时间】:2009-11-30 16:36:00
【问题描述】:

在 Ruby 上,使用 DBM 时

require "dbm"

db = DBM.open("somedata")
db[1] = 2   # ok
p db[1]     # gives error

有人知道 db[1] = 2 没问题,但是打印出 db[1] 会报错吗?

如果它要求 db["1"] 有效,那为什么它不适用于两种情况而只适用于一种情况?

【问题讨论】:

    标签: ruby variable-assignment berkeley-db dbm


    【解决方案1】:

    dbm 将键和值转换为字符串,所以:

    p db["1"]

    “2”

    【讨论】:

    • 是的,dbm 仅将键存储为字符串。所以说 db[1] = 2 就是说 db["1"] = 2。当你访问数据时,你需要使用字符串。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-05-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-07-13
    • 1970-01-01
    相关资源
    最近更新 更多