如何在Crystal中生成随机数?

Ron*_*eau 4 random crystal-lang

在 Crystal 中,如何生成随机数?


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

from random import randint
nb = randint(0, 10)
Run Code Online (Sandbox Code Playgroud)

Ron*_*eau 5

解决方案 1 - 使用Random模块

随机的 Integer

Random.new.rand(10)      # >= 0 and < 10
Random.new.rand(10..20)  # >= 10 and < 20
Run Code Online (Sandbox Code Playgroud)

随机的 Float

Random.new.rand(1.5)          # >= 0 and < 1.5
Random.new.rand(6.2..18.289)  # >= 6.2 and < 18.289
Run Code Online (Sandbox Code Playgroud)

解决方案 2 - 使用顶级方法rand

正如@Jonne 在评论中指出的,您可以直接使用调用模块的顶级方法randRandom

随机的 Integer

rand(10)      # >= 0 and < 10
rand(10..20)  # >= 10 and < 20
Run Code Online (Sandbox Code Playgroud)

随机的 Float

rand(1.5)          # >= 0 and < 1.5
rand(6.2..18.289)  # >= 6.2 and < 18.289
Run Code Online (Sandbox Code Playgroud)