def check_digit(dig) dig = dig.to_s.scan(/\d/).map{|c| c.to_i} n = (0 .. 5).inject(0){|x, y| x += dig[y*2] + 3 * dig[y*2+1] } return (10 - n % 10) % 10 end
def group_name(group) Hash[0, '英語圏', 1, '英語圏', 2, 'フランス語圏', 3, 'ドイツ語圏', 4, '日本', 5, 'ロシア'][group[0, 1].to_i] or 'その他' end
ARGF.each do |line| title, isbn = line.strip.split(',') title = title.split(' ').map{|w| w.capitalize}.join(' ') isbn = isbn.gsub(' ', '-') group, pub, book, cd = isbn.split(/[-]/)