view event/oasis2017/quiz/panelqr.rb @ 3375:bc44ddf6cfb7

プログラムを改良
author houtin <c115080@g.koeki-u.ac.jp>
date Wed, 26 Jul 2017 10:09:54 +0900
parents
children
line wrap: on
line source

#!/usr/bin/env ruby
# -*- coding: utf-8 -*- 

class PanelQR
  def initialize(dbfile = "paneldb.yaml")
    @db = YAML::Store.new(dbfile)
  end
  def regist(player, place)
    @db.transaction do
      # pn紊違<ゃ荐蚊宴緇
      pn = @db["panel"] = @db.fetch("panel", Hash.new)
      # 脂画(player)腥冴域Hash篁e
      if pn[player] == nil
        pn[player] = Hash.new
      end
      # playerplaceQR潟若緇
      if pn[player][place] == nil then
        pn[player][place] = 0# Hash.new(0)篏帥
      end
      pn[player][place] += 1
    end
  end
  def list(player)
    @db.transaction do
      pn = @db["panel"]
      # 宴腥冴с医阪
      if pn && pn[player] then
        pn[player].each do |place, count|
          printf("%s  %s %d茵障\n", player, place, count)
        end
      end
    end
  end
  def listall()
    @db.transaction do
      if @db["panel"] then
        @db["panel"].each do |who, phash|
          phash.each do |place, count|
            printf("%s  %s %d茵障\n", who, place, count)
          end
        end
      end
    end
  end
end

yatex.org