ruby 生成随机有效的CPF

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了ruby 生成随机有效的CPF相关的知识,希望对你有一定的参考价值。

#! /usr/bin/env ruby

# Setup initial variables
number = Random.new
cpf = []
vd1 = 0
vd2 = 0

# Generate the 9 first numbers
1.upto(9) do |i|
  n = number.rand(0..9)
  cpf << n
  # start calculating the Verification Digits (VD)
  vd1 += n * (11 - i)
  vd2 += n * (12 - i)
end

# Calculate the first VD
vd1 = vd1 % 11
vd1 = vd1 < 2 ? 0 : 11 - vd1

# Add first VD to second VD
vd2 += vd1 * 2

# Calculate second VD
vd2 = vd2 % 11
vd2 = vd2 < 2 ? 0 : 11 - vd2

# Add VDs to CPF
cpf << vd1
cpf << vd2

# Print the new cpf
puts cpf.join

以上是关于ruby 生成随机有效的CPF的主要内容,如果未能解决你的问题,请参考以下文章

使用 Ruby(在 Rails 上)确认链接创建

ruby 使用Ruby生成随机字节

ruby生成随机成绩

ruby随机生成字符串

ruby rails生成随机字符串

ruby 生成随机字符串