rails自动生成n位随机数字

论坛 期权论坛 脚本     
匿名技术用户   2021-1-4 05:27   15   0
def newpass( n )
chars = ("0".."9").to_a#生成0至9的字符数组#["0","1","2","3","4","5","6","7","8","9"]
newpass = ""
1.upto(n) { |i| newpass << chars[rand(chars.size)] }
return newpass
end
笔记
rand(char.size-1)相当于rand(9)就是返回0至9之间的随机数
chars[]再返回对应位置的字符串。
<<是string的添加方法。
再加上1.upto(len)是1到len的迭代,你想要几位的随机数,newpass就是几位了。
这样写似乎更简单一些
def newpass(len)
newpass = ""
1.upto(len){ |i| newpass << rand(10).to_s}
return newpass
end
问题: |i|是什么意思

分享到 :
0 人收藏
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

积分:7942463
帖子:1588486
精华:0
期权论坛 期权论坛
发布
内容

下载期权论坛手机APP