如何在Crystal中生成一个随机数?

How to generate a random number in Crystal?

在Crystal中如何生成随机数?


使用 Python,我可以简单地执行以下操作来生成 0 到 10 之间的随机整数:

from random import randint
nb = randint(0, 10)

解决方案 1 - 使用 Random module

随机Integer

Random.new.rand(10)      # >= 0 and < 10
Random.new.rand(10..20)  # >= 10 and < 20

随机Float

Random.new.rand(1.5)          # >= 0 and < 1.5
Random.new.rand(6.2..18.289)  # >= 6.2 and < 18.289

解决方案 2 - 使用 top-level method rand

正如@Jonne 在评论中指出的,您可以直接使用调用 Random 模块的 top-level method rand

随机Integer

rand(10)      # >= 0 and < 10
rand(10..20)  # >= 10 and < 20

随机Float

rand(1.5)          # >= 0 and < 1.5
rand(6.2..18.289)  # >= 6.2 and < 18.289

更短的是rand:

# ints
rand(10)
rand(10..20)

# floats
rand(1.5)
rand(6.2..18.289)