gpt4 book ai didi

ruby - 不幸的是,有时会失败的小型随机字符串生成器。请帮我解决

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

根据一些 StackOverflow 的回答,我有一个简洁的小函数来生成一个只有 a-z 和 0-9 个字符的 10 个字符的字符串:rand(36**10).to_s(36)

问题是它有时会失败并且只生成 9 个字符。但我真的很喜欢它的轻松和速度。有什么关于如何修复它的建议,以便我可以确定它总是准确地生成 10 个字符吗? (没有任何循环或检查。)

最佳答案

当你随机生成一个小于 369 的数字时,它最终是一个 9 个字符的字符串。用零填充它:

rand(36**10).to_s(36).rjust(10, "0")

例子:

irb(main):018:0> (36**9).to_s(36)
=> "1000000000"
irb(main):019:0> (36**9 - 1).to_s(36)
=> "zzzzzzzzz"
irb(main):020:0> (36**5).to_s.rjust(10, "0")
=> "0060466176"

关于ruby - 不幸的是,有时会失败的小型随机字符串生成器。请帮我解决,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4411582/

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