gpt4 book ai didi

ruby - 在 Ruby 中使用 SecureRandom 生成长度为 6 的随机数

转载 作者:数据小太阳 更新时间:2023-10-29 08:26:03 24 4
gpt4 key购买 nike

我试过 SecureRandom.random_number(9**6) 但它有时会返回 5 个数字,有时会返回 6 个数字。我希望它的长度始终为 6。我也更喜欢像 SecureRandom.random_number(9**6) 这样的格式,而不使用像 6.times.map 这样的语法,这样更容易在我的 Controller 测试。

最佳答案

你可以用数学来做:

(SecureRandom.random_number(9e5) + 1e5).to_i

然后验证:

100000.times.map do
(SecureRandom.random_number(9e5) + 1e5).to_i
end.map { |v| v.to_s.length }.uniq
# => [6]

这会产生 100000..999999 范围内的值:

10000000.times.map do
(SecureRandom.random_number(9e5) + 1e5).to_i
end.minmax
# => [100000, 999999]

如果您需要更简洁的格式,只需将其滚动到一个方法中即可:

def six_digit_rand
(SecureRandom.random_number(9e5) + 1e5).to_i
end

关于ruby - 在 Ruby 中使用 SecureRandom 生成长度为 6 的随机数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44031239/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com