From: gotoken@... (GOTO Kentaro) Date: 1999-10-20T03:58:31+09:00 Subject: [ruby-list:17847] Re: instead of assoc method ごとけんです ごそごそと訂正に来ました ^^;; In message "[ruby-list:17839] Re: instead of assoc method" on 99/10/20, GOTO Kentaro writes: >メインの部分はこんな感じ: > > require "dbm" > DBNAME = "hoge" # prefix of db file > > votes = ["aaa", "bbb"] > > db = DBM.open(DBNAME) > begin > db["aaa"] = 3 > db["ccc"] = 2 > > votes.each do |v| > db[v] = "0" unless db.has_key?[v] # 不要かも うえでは = 3 とかしておきながらここで = "0" はナニですね。 DBM#[]= は代入前に to_s してくれるようです。 それから has_key?[v] ではなく has_key?(0) です。 また、現状では登録されてないキーの参照は nil が返り、かつ nil.to_i == 0 なので、やっぱり、 db[v] = "0" unless db.has_key?(v) は不要です。 ただ nil.to_i == 0 という仕様が将来どうなるかは分かりません。 -- gotoken