为什么在 Ruby 中使用 DBM 时,db[1] = 2 可以,但 print db[1] 会出错?
在Ruby上,当使用DBM时,
require "dbm"
db = DBM.open("somedata")
db[1] = 2 # ok
p db[1] # gives error
有人知道db[1] = 2是可以的,但是打印出db[1]会出错吗?
如果它要求 db["1"] 有效,那么为什么它不适用于两种情况而只适用于一种情况?
On Ruby, when using DBM
require "dbm"
db = DBM.open("somedata")
db[1] = 2 # ok
p db[1] # gives error
does anyone know db[1] = 2 is ok, but printing out db[1] will give error?
If it requires db["1"] to be valid, then how come it doesn't apply to both cases but to one case only?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
dbm 将键和值转换为字符串,因此:
p db["1"]
给出
"2"
dbm convert key and value to string, so :
p db["1"]
give
"2"