rails自动生成n位随机数字

来源:互联网 发布:mac dare you黄皮 编辑:程序博客网 时间:2024/04/27 19:50
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|是什么意思

原创粉丝点击