#!/bin/env ruby # # given a series of digits, prints the BVR (Swiss Post Bulletin de Versement) # digit key sum # def bvr_sum(string) retval = 0 string.scan(/./) { |char| retval = [ 0, 9, 4, 6, 8, 2, 7, 1, 3, 5 ][ (retval + Integer(char)) % 10] } return (10 - retval) % 10 end puts "BVR digit key for #{ARGV[0]}: #{bvr_sum(ARGV[0])}"