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

时间:2013-08-01 18:15:06

标签: ruby random integer

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

@num = Random.rand(9000) + Random.rand(9000) + Random.rand(9000)

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

谢谢!

1 个答案:

答案 0 :(得分:11)

rand可以将范围作为参数:

p a = rand(2**32..2**64-1) # => 11093913376345012184
puts a.class #=> Bignum

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