简体   繁体   English

如何改善这种生成随机数字令牌的Ruby代码?

[英]How can I improve this Ruby code that generates a random token of numbers?

I came up with this solution: 我想出了这个解决方案:

  def generate_tok(n)
    tok = ""
    n.times.inject(tok) do |n, t|
      tok += SecureRandom::random_number(9).to_s
    end
  end

And it works fine. 而且效果很好。

Just wondering if anyone see a way to improve it? 只是想知道是否有人看到一种改进方法? Or a better solution. 还是更好的解决方案。 Even a way to get rid of the initialisation (tok="") is welcome. 甚至欢迎一种摆脱初始化的方法(tok="")

I would start with something like this: 我将从以下内容开始:

require 'securerandom'

def generate_token(length)
  Array.new(length) { SecureRandom::random_number(10) }.join
end

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM