如何在Ruby中生成一个非常大的随机整数?

use*_*234 5 ruby random integer

我想在ruby中生成一个64位整数.我在Java中知道你有很多,但我不确定你会如何在Ruby中做到这一点.另外,64位数中有多少个字符?这是我所说的一个例子...... 123456789999.

@num = Random.rand(9000) + Random.rand(9000) + Random.rand(9000)
Run Code Online (Sandbox Code Playgroud)

但我相信这是非常低效的,必须有一个更简单,更简洁的方法.

谢谢!

ste*_*lag 11

rand可以将范围作为参数:

p a = rand(2**32..2**64-1) # => 11093913376345012184
puts a.class #=> Bignum
Run Code Online (Sandbox Code Playgroud)

从doc:Bignum对象保持Fixnum范围之外的整数.当整数计算否则会溢出Fixnum时,会自动创建Bignum对象.当涉及Bignum对象的计算返回适合Fixnum的结果时,结果将自动转换...