1 2 3 4 5 6 7 8 9 10 |
return false if nip != 10 weights = [6, 5, 7, 2, 3, 4, 5, 6, 7] nip = nip(//) {|d| d } checksum = 0 weights {|w, i| checksum += w * nip[i] } return checksum % 11 % 10 == nip end |
Pastie
Support Pastie
or read my
Pastie << self
blog
1 2 3 4 5 6 7 8 9 10 |
return false if nip != 10 weights = [6, 5, 7, 2, 3, 4, 5, 6, 7] nip = nip(//) {|d| d } checksum = 0 weights {|w, i| checksum += w * nip[i] } return checksum % 11 % 10 == nip end |